{
  "contractName": "SchemeRegistrar",
  "abi": [
    {
      "constant": true,
      "inputs": [
        {
          "name": "",
          "type": "bytes32"
        }
      ],
      "name": "parameters",
      "outputs": [
        {
          "name": "voteRegisterParams",
          "type": "bytes32"
        },
        {
          "name": "voteRemoveParams",
          "type": "bytes32"
        },
        {
          "name": "intVote",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "",
          "type": "address"
        },
        {
          "name": "",
          "type": "bytes32"
        }
      ],
      "name": "organizationsProposals",
      "outputs": [
        {
          "name": "scheme",
          "type": "address"
        },
        {
          "name": "parametersHash",
          "type": "bytes32"
        },
        {
          "name": "proposalType",
          "type": "uint256"
        },
        {
          "name": "isRegistering",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_voteRegisterParams",
          "type": "bytes32"
        },
        {
          "name": "_voteRemoveParams",
          "type": "bytes32"
        },
        {
          "name": "_intVote",
          "type": "address"
        }
      ],
      "name": "setParameters",
      "outputs": [
        {
          "name": "",
          "type": "bytes32"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_hashedParameters",
          "type": "bytes32"
        }
      ],
      "name": "updateParameters",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_proposalId",
          "type": "bytes32"
        },
        {
          "name": "_avatar",
          "type": "address"
        },
        {
          "name": "_param",
          "type": "int256"
        }
      ],
      "name": "execute",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_avatar",
          "type": "address"
        },
        {
          "name": "_scheme",
          "type": "address"
        }
      ],
      "name": "proposeToRemoveScheme",
      "outputs": [
        {
          "name": "",
          "type": "bytes32"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "_voteRegisterParams",
          "type": "bytes32"
        },
        {
          "name": "_voteRemoveParams",
          "type": "bytes32"
        },
        {
          "name": "_intVote",
          "type": "address"
        }
      ],
      "name": "getParametersHash",
      "outputs": [
        {
          "name": "",
          "type": "bytes32"
        }
      ],
      "payable": false,
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_avatar",
          "type": "address"
        },
        {
          "name": "_scheme",
          "type": "address"
        },
        {
          "name": "_parametersHash",
          "type": "bytes32"
        },
        {
          "name": "_isRegistering",
          "type": "bool"
        }
      ],
      "name": "proposeScheme",
      "outputs": [
        {
          "name": "",
          "type": "bytes32"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "owner",
      "outputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "newOwner",
          "type": "address"
        }
      ],
      "name": "transferOwnership",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "hashedParameters",
      "outputs": [
        {
          "name": "",
          "type": "bytes32"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "_avatar",
          "type": "address"
        },
        {
          "indexed": true,
          "name": "_proposalId",
          "type": "bytes32"
        },
        {
          "indexed": true,
          "name": "_intVoteInterface",
          "type": "address"
        },
        {
          "indexed": false,
          "name": "_scheme",
          "type": "address"
        },
        {
          "indexed": false,
          "name": "_parametersHash",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "name": "_isRegistering",
          "type": "bool"
        }
      ],
      "name": "LogNewSchemeProposal",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "_avatar",
          "type": "address"
        },
        {
          "indexed": true,
          "name": "_proposalId",
          "type": "bytes32"
        },
        {
          "indexed": true,
          "name": "_intVoteInterface",
          "type": "address"
        },
        {
          "indexed": false,
          "name": "_scheme",
          "type": "address"
        }
      ],
      "name": "LogRemoveSchemeProposal",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "_avatar",
          "type": "address"
        },
        {
          "indexed": true,
          "name": "_proposalId",
          "type": "bytes32"
        }
      ],
      "name": "LogProposalExecuted",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "_avatar",
          "type": "address"
        },
        {
          "indexed": true,
          "name": "_proposalId",
          "type": "bytes32"
        }
      ],
      "name": "LogProposalDeleted",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "name": "proposalId",
          "type": "bytes32"
        }
      ],
      "name": "LogNewProposal",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "previousOwner",
          "type": "address"
        },
        {
          "indexed": true,
          "name": "newOwner",
          "type": "address"
        }
      ],
      "name": "OwnershipTransferred",
      "type": "event"
    }
  ],
  "bytecode": "0x6060604052341561000f57600080fd5b60008054600160a060020a033316600160a060020a0319909116179055610e698061003b6000396000f3006060604052600436106100955763ffffffff60e060020a60003504166302506804811461009a57806306e3a978146100dd5780630a6687fd146101355780632ac2af531461016c578063310ce4e21461018457806357b4c460146101bd57806377182261146101e25780638af0fab9146102075780638da5cb5b14610234578063f2fde38b14610263578063f98e87ba14610282575b600080fd5b34156100a557600080fd5b6100b0600435610295565b6040519283526020830191909152600160a060020a03166040808301919091526060909101905180910390f35b34156100e857600080fd5b6100ff600160a060020a03600435166024356102bf565b604051600160a060020a039094168452602084019290925260408084019190915290151560608301526080909101905180910390f35b341561014057600080fd5b61015a600435602435600160a060020a03604435166102fd565b60405190815260200160405180910390f35b341561017757600080fd5b61018260043561035a565b005b341561018f57600080fd5b6101a9600435600160a060020a036024351660443561037a565b604051901515815260200160405180910390f35b34156101c857600080fd5b61015a600160a060020a036004358116906024351661076b565b34156101ed57600080fd5b61015a600435602435600160a060020a0360443516610978565b341561021257600080fd5b61015a600160a060020a036004358116906024351660443560643515156109c1565b341561023f57600080fd5b610247610c65565b604051600160a060020a03909116815260200160405180910390f35b341561026e57600080fd5b610182600160a060020a0360043516610c74565b341561028d57600080fd5b61015a610d0f565b600360205260009081526040902080546001820154600290920154909190600160a060020a031683565b600260208181526000938452604080852090915291835291208054600182015492820154600390920154600160a060020a0390911692919060ff1684565b60008061030b858585610978565b6000818152600360205260409020958655600186019490945550506002909201805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03939093169290921790915590565b60005433600160a060020a0390811691161461037557600080fd5b600155565b600080610385610df6565b33600160a060020a03166003600061039c88610d15565b8152602081019190915260400160002060020154600160a060020a0316146103c357600080fd5b83600114156106d95784600160a060020a0316638da5cb5b6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561041257600080fd5b6102c65a03f1151561042357600080fd5b5050506040518051600160a060020a03871660009081526002602090815260408083208b8452909152908190209194509091506080905190810160409081528254600160a060020a0316825260018301546020830152600283015490820190815260039092015460ff161515606082015291505160011415610646578060600151151561056e57600160a060020a03821663e869d45f8251836020015160e060020a8960006040516020015260405160e060020a63ffffffff8716028152600160a060020a03948516600482015260248101939093527bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1990911660448301529091166064820152608401602060405180830381600087803b151561054357600080fd5b6102c65a03f1151561055457600080fd5b50505060405180519050151561056957600080fd5b610646565b600160a060020a03821663e869d45f825183602001517c03000000000000000000000000000000000000000000000000000000008960006040516020015260405160e060020a63ffffffff8716028152600160a060020a03948516600482015260248101939093527bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1990911660448301529091166064820152608401602060405180830381600087803b151561062057600080fd5b6102c65a03f1151561063157600080fd5b50505060405180519050151561064657600080fd5b8060400151600214156106d957600160a060020a03821663039de01d82518760006040516020015260405160e060020a63ffffffff8516028152600160a060020a03928316600482015291166024820152604401602060405180830381600087803b15156106b357600080fd5b6102c65a03f115156106c457600080fd5b5050506040518051905015156106d957600080fd5b600160a060020a03851660008181526002602081815260408084208b8552909152808320805473ffffffffffffffffffffffffffffffffffffffff191681556001810184905591820192909255600301805460ff191690558791907f1f9b6fe94f8389fd9936094c2246b3cb2b4392e59e72e915e70e6a08a47a1fb9905160405180910390a350600195945050505050565b600080610776610e1d565b60008061078287610d15565b600081815260036020526040908190209195506060905190810160409081528254825260018301546020830152600290920154600160a060020a0316918101918252935051915081600160a060020a03166388737b5e600285602001518a3060006040516020015260405160e060020a63ffffffff871602815260048101949094526024840192909252600160a060020a039081166044840152166064820152608401602060405180830381600087803b151561083e57600080fd5b6102c65a03f1151561084f57600080fd5b5050506040518051600160a060020a0389811660008181526002602081815260408084208785529091529182902080820191909155805473ffffffffffffffffffffffffffffffffffffffff19168c8516179055929450908516925083917f68953fb1bf1b1aeeaaa5832742ffcb54530b6c3d63a03a1cb09a6b69dae43446908a9051600160a060020a03909116815260200160405180910390a481600160a060020a031663339e23d18260013360006040516020015260405160e060020a63ffffffff861602815260048101939093526024830191909152600160a060020a03166044820152606401602060405180830381600087803b151561095257600080fd5b6102c65a03f1151561096357600080fd5b50505060405180515090979650505050505050565b60008383836040519283526020830191909152600160a060020a03166c010000000000000000000000000260408083019190915260549091019051809103902090509392505050565b60006109cb610e1d565b60006109d5610df6565b600360006109e28a610d15565b815260208101919091526040908101600020906060905190810160409081528254825260018301546020830152600290920154600160a060020a0316918101918252935051600160a060020a03166388737b5e600285518b3060006040516020015260405160e060020a63ffffffff871602815260048101949094526024840192909252600160a060020a039081166044840152166064820152608401602060405180830381600087803b1515610a9857600080fd5b6102c65a03f11515610aa957600080fd5b50505060405180519050915060806040519081016040908152600160a060020a0389168252602082018890526001818301528615156060830152909150830151600160a060020a0316826000191689600160a060020a03167f2752cedc8324e6f46b813b8610f681cac42d674aa32911c312438641c25d66968a8a8a604051600160a060020a039093168352602083019190915215156040808301919091526060909101905180910390a4600160a060020a0388166000908152600260209081526040808320858452909152902081908151815473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a039190911617815560208201516001820155604082015181600201556060820151600391909101805460ff1916911515919091179055506040830151600160a060020a031663339e23d18360013360006040516020015260405160e060020a63ffffffff861602815260048101939093526024830191909152600160a060020a03166044820152606401602060405180830381600087803b1515610c3e57600080fd5b6102c65a03f11515610c4f57600080fd5b5050506040518051509198975050505050505050565b600054600160a060020a031681565b60005433600160a060020a03908116911614610c8f57600080fd5b600160a060020a0381161515610ca457600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60015481565b600081600160a060020a0316638da5cb5b6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610d5d57600080fd5b6102c65a03f11515610d6e57600080fd5b50505060405180519050600160a060020a0316631c4d5608308460006040516020015260405160e060020a63ffffffff8516028152600160a060020a03928316600482015291166024820152604401602060405180830381600087803b1515610dd657600080fd5b6102c65a03f11515610de757600080fd5b50505060405180519392505050565b60806040519081016040908152600080835260208301819052908201819052606082015290565b6060604051908101604090815260008083526020830181905290820152905600a165627a7a7230582016a714ebd2af5049bfd7e0fe45d18aa70afe8b46b6e4089bd6953ba0891863700029",
  "deployedBytecode": "0x6060604052600436106100955763ffffffff60e060020a60003504166302506804811461009a57806306e3a978146100dd5780630a6687fd146101355780632ac2af531461016c578063310ce4e21461018457806357b4c460146101bd57806377182261146101e25780638af0fab9146102075780638da5cb5b14610234578063f2fde38b14610263578063f98e87ba14610282575b600080fd5b34156100a557600080fd5b6100b0600435610295565b6040519283526020830191909152600160a060020a03166040808301919091526060909101905180910390f35b34156100e857600080fd5b6100ff600160a060020a03600435166024356102bf565b604051600160a060020a039094168452602084019290925260408084019190915290151560608301526080909101905180910390f35b341561014057600080fd5b61015a600435602435600160a060020a03604435166102fd565b60405190815260200160405180910390f35b341561017757600080fd5b61018260043561035a565b005b341561018f57600080fd5b6101a9600435600160a060020a036024351660443561037a565b604051901515815260200160405180910390f35b34156101c857600080fd5b61015a600160a060020a036004358116906024351661076b565b34156101ed57600080fd5b61015a600435602435600160a060020a0360443516610978565b341561021257600080fd5b61015a600160a060020a036004358116906024351660443560643515156109c1565b341561023f57600080fd5b610247610c65565b604051600160a060020a03909116815260200160405180910390f35b341561026e57600080fd5b610182600160a060020a0360043516610c74565b341561028d57600080fd5b61015a610d0f565b600360205260009081526040902080546001820154600290920154909190600160a060020a031683565b600260208181526000938452604080852090915291835291208054600182015492820154600390920154600160a060020a0390911692919060ff1684565b60008061030b858585610978565b6000818152600360205260409020958655600186019490945550506002909201805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03939093169290921790915590565b60005433600160a060020a0390811691161461037557600080fd5b600155565b600080610385610df6565b33600160a060020a03166003600061039c88610d15565b8152602081019190915260400160002060020154600160a060020a0316146103c357600080fd5b83600114156106d95784600160a060020a0316638da5cb5b6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561041257600080fd5b6102c65a03f1151561042357600080fd5b5050506040518051600160a060020a03871660009081526002602090815260408083208b8452909152908190209194509091506080905190810160409081528254600160a060020a0316825260018301546020830152600283015490820190815260039092015460ff161515606082015291505160011415610646578060600151151561056e57600160a060020a03821663e869d45f8251836020015160e060020a8960006040516020015260405160e060020a63ffffffff8716028152600160a060020a03948516600482015260248101939093527bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1990911660448301529091166064820152608401602060405180830381600087803b151561054357600080fd5b6102c65a03f1151561055457600080fd5b50505060405180519050151561056957600080fd5b610646565b600160a060020a03821663e869d45f825183602001517c03000000000000000000000000000000000000000000000000000000008960006040516020015260405160e060020a63ffffffff8716028152600160a060020a03948516600482015260248101939093527bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1990911660448301529091166064820152608401602060405180830381600087803b151561062057600080fd5b6102c65a03f1151561063157600080fd5b50505060405180519050151561064657600080fd5b8060400151600214156106d957600160a060020a03821663039de01d82518760006040516020015260405160e060020a63ffffffff8516028152600160a060020a03928316600482015291166024820152604401602060405180830381600087803b15156106b357600080fd5b6102c65a03f115156106c457600080fd5b5050506040518051905015156106d957600080fd5b600160a060020a03851660008181526002602081815260408084208b8552909152808320805473ffffffffffffffffffffffffffffffffffffffff191681556001810184905591820192909255600301805460ff191690558791907f1f9b6fe94f8389fd9936094c2246b3cb2b4392e59e72e915e70e6a08a47a1fb9905160405180910390a350600195945050505050565b600080610776610e1d565b60008061078287610d15565b600081815260036020526040908190209195506060905190810160409081528254825260018301546020830152600290920154600160a060020a0316918101918252935051915081600160a060020a03166388737b5e600285602001518a3060006040516020015260405160e060020a63ffffffff871602815260048101949094526024840192909252600160a060020a039081166044840152166064820152608401602060405180830381600087803b151561083e57600080fd5b6102c65a03f1151561084f57600080fd5b5050506040518051600160a060020a0389811660008181526002602081815260408084208785529091529182902080820191909155805473ffffffffffffffffffffffffffffffffffffffff19168c8516179055929450908516925083917f68953fb1bf1b1aeeaaa5832742ffcb54530b6c3d63a03a1cb09a6b69dae43446908a9051600160a060020a03909116815260200160405180910390a481600160a060020a031663339e23d18260013360006040516020015260405160e060020a63ffffffff861602815260048101939093526024830191909152600160a060020a03166044820152606401602060405180830381600087803b151561095257600080fd5b6102c65a03f1151561096357600080fd5b50505060405180515090979650505050505050565b60008383836040519283526020830191909152600160a060020a03166c010000000000000000000000000260408083019190915260549091019051809103902090509392505050565b60006109cb610e1d565b60006109d5610df6565b600360006109e28a610d15565b815260208101919091526040908101600020906060905190810160409081528254825260018301546020830152600290920154600160a060020a0316918101918252935051600160a060020a03166388737b5e600285518b3060006040516020015260405160e060020a63ffffffff871602815260048101949094526024840192909252600160a060020a039081166044840152166064820152608401602060405180830381600087803b1515610a9857600080fd5b6102c65a03f11515610aa957600080fd5b50505060405180519050915060806040519081016040908152600160a060020a0389168252602082018890526001818301528615156060830152909150830151600160a060020a0316826000191689600160a060020a03167f2752cedc8324e6f46b813b8610f681cac42d674aa32911c312438641c25d66968a8a8a604051600160a060020a039093168352602083019190915215156040808301919091526060909101905180910390a4600160a060020a0388166000908152600260209081526040808320858452909152902081908151815473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a039190911617815560208201516001820155604082015181600201556060820151600391909101805460ff1916911515919091179055506040830151600160a060020a031663339e23d18360013360006040516020015260405160e060020a63ffffffff861602815260048101939093526024830191909152600160a060020a03166044820152606401602060405180830381600087803b1515610c3e57600080fd5b6102c65a03f11515610c4f57600080fd5b5050506040518051509198975050505050505050565b600054600160a060020a031681565b60005433600160a060020a03908116911614610c8f57600080fd5b600160a060020a0381161515610ca457600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60015481565b600081600160a060020a0316638da5cb5b6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610d5d57600080fd5b6102c65a03f11515610d6e57600080fd5b50505060405180519050600160a060020a0316631c4d5608308460006040516020015260405160e060020a63ffffffff8516028152600160a060020a03928316600482015291166024820152604401602060405180830381600087803b1515610dd657600080fd5b6102c65a03f11515610de757600080fd5b50505060405180519392505050565b60806040519081016040908152600080835260208301819052908201819052606082015290565b6060604051908101604090815260008083526020830181905290820152905600a165627a7a7230582016a714ebd2af5049bfd7e0fe45d18aa70afe8b46b6e4089bd6953ba0891863700029",
  "sourceMap": "265:6823:23:-;;;1689:36;;;;;;;;501:5:33;:18;;-1:-1:-1;;;;;509:10:33;501:18;-1:-1:-1;;;;;;501:18:33;;;;;;265:6823:23;;;;;;",
  "deployedSourceMap": "265:6823:23:-;;;;;;;;;-1:-1:-1;;;265:6823:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1594:46;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1594:46:23;;;;;;;;;;;;;;;;;;;;1270:80;;;;;;;;;;-1:-1:-1;;;;;1270:80:23;;;;;;;;;;-1:-1:-1;;;;;1270:80:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1828:489;;;;;;;;;;;;;;-1:-1:-1;;;;;1828:489:23;;;;;;;;;;;;;;;;;;;;455:157:25;;;;;;;;;;;;;;;;5670:1416:23;;;;;;;;;;;;-1:-1:-1;;;;;5670:1416:23;;;;;;;;;;;;;;;;;;;;;;;;4491:779;;;;;;;;;;-1:-1:-1;;;;;4491:779:23;;;;;;;;;;2323:256;;;;;;;;;;;;;;-1:-1:-1;;;;;2323:256:23;;;;;3095:1095;;;;;;;;;;-1:-1:-1;;;;;3095:1095:23;;;;;;;;;;;;;;;;238:20:33;;;;;;;;;;;;;;;-1:-1:-1;;;;;238:20:33;;;;;;;;;;;;;;834:169;;;;;;;;;;-1:-1:-1;;;;;834:169:33;;;;;345:31:25;;;;;;;;;;;;1594:46:23;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1594:46:23;;:::o;1270:80::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1270:80:23;;;;;;;;;:::o;1828:489::-;1979:7;2002:18;2023:67;2041:19;2062:17;2081:8;2023:17;:67::i;:::-;2100:22;;;;:10;:22;;;;;:63;;;2173:39;;;:59;;;;-1:-1:-1;;2242:30:23;;;;:41;;-1:-1:-1;;2242:41:23;-1:-1:-1;;;;;2242:41:23;;;;;;;;;;;2100:22;1828:489::o;455:157:25:-;654:5:33;;640:10;-1:-1:-1;;;;;640:19:33;;;654:5;;640:19;632:28;;;;;;569:16:25;:36;455:157::o;5670:1416:23:-;5754:4;6007:30;6098;;:::i;:::-;5904:10;-1:-1:-1;;;;;5836:78:23;:10;:56;5847:44;5882:7;5847:27;:44::i;:::-;5836:56;;;;;;;;;;;;;:64;;;-1:-1:-1;;;;;5836:64:23;:78;5828:87;;;;;;5930:6;5940:1;5930:11;5926:1021;;;6067:7;-1:-1:-1;;;;;6060:21:23;;:23;;;;;;;;;;;-1:-1:-1;;;6060:23:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6131:31:23;;;;;;:22;:31;;;;;;;;:44;;;;;;;;;;6060:23;;-1:-1:-1;6131:44:23;;-1:-1:-1;6098:77:23;;;;;;;;;;;;-1:-1:-1;;;;;6098:77:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6219:21:23;6244:1;6219:26;6215:499;;;6269:8;:22;;;:31;;6265:431;;-1:-1:-1;;;;;6329:25:23;;;6355:8;:15;6372:8;:23;;;-1:-1:-1;;;6407:7:23;6329:86;;;;;;;;-1:-1:-1;;;6329:86:23;;;;;;-1:-1:-1;;;;;6329:86:23;;;;;;;;;;;;;;-1:-1:-1;;6329:86:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6328:87;6324:152;;;6443:8;;;6324:152;6265:431;;;-1:-1:-1;;;;;6533:25:23;;;6559:8;:15;6576:8;:23;;;6601:9;6611:7;6533:86;;;;;;;;-1:-1:-1;;;6533:86:23;;;;;;-1:-1:-1;;;;;6533:86:23;;;;;;;;;;;;;;-1:-1:-1;;6533:86:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6532:87;6528:150;;;6647:8;;;6528:150;6760:8;:21;;;6785:1;6760:26;6755:180;;;-1:-1:-1;;;;;6812:27:23;;;6840:8;:15;6856:7;6812:52;;;;;;;;-1:-1:-1;;;6812:52:23;;;;;;-1:-1:-1;;;;;6812:52:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6811:53;6807:110;;;6888:8;;;6807:110;-1:-1:-1;;;;;6963:31:23;;;;;;:22;:31;;;;;;;;:44;;;;;;;;;6956:51;;-1:-1:-1;;6956:51:23;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6956:51:23;;;6995:11;;6963:31;7017:41;;;;;;;;;;-1:-1:-1;7075:4:23;;5670:1416;-1:-1:-1;;;;;5670:1416:23:o;4491:779::-;4578:7;4601:18;4668:24;;:::i;:::-;4728;4779:18;4622:36;4650:7;4622:27;:36::i;:::-;4695:22;;;;:10;:22;;;;;;;4601:57;;-1:-1:-1;4668:49:23;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4668:49:23;;;;;;;;-1:-1:-1;4755:14:23;4728:41;;4800:7;-1:-1:-1;;;;;4800:15:23;;4816:1;4819:6;:23;;;4844:7;4873:4;4800:79;;;;;;;;-1:-1:-1;;;4800:79:23;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4800:79:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4890:31:23;;;;;;;4949:1;4890:31;;;;;;;;:43;;;;;;;;;;:56;;;:60;;;;4960;;-1:-1:-1;;4960:60:23;;;;;;;4890:43;;-1:-1:-1;5030:62:23;;;;-1:-1:-1;4890:43:23;;5030:62;;4960:60;;5030:62;-1:-1:-1;;;;;5030:62:23;;;;;;;;;;;;;;5136:7;-1:-1:-1;;;;;5136:17:23;;5154:10;5166:1;5169:10;5136:44;;;;;;;;-1:-1:-1;;;5136:44:23;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5136:44:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5253:10:23;;4491:779;-1:-1:-1;;;;;;;4491:779:23:o;2323:256::-;2483:7;2523:19;2544:17;2563:8;2513:59;;;;;;;;;;;;-1:-1:-1;;;;;2513:59:23;;;;;;;;;;;;;;;;;;;;;;2506:66;;2323:256;;;;;:::o;3095:1095::-;3258:7;3300:34;;:::i;:::-;3396:18;3536:30;;:::i;:::-;3337:10;:48;3348:36;3376:7;3348:27;:36::i;:::-;3337:48;;;;;;;;;;;;;;;;3300:85;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3300:85:23;;;;;;;;-1:-1:-1;3417:24:23;-1:-1:-1;;;;;3417:32:23;;3450:1;3453:16;:35;3490:7;3519:4;3417:108;;;;;;;;-1:-1:-1;;;3417:108:23;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3417:108:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3396:129;;3569:172;;;;;;;;;;-1:-1:-1;;;;;3569:172:23;;;;;;;;;;3686:1;3569:172;;;;;;;;;;;;;-1:-1:-1;3830:24:23;;;-1:-1:-1;;;;;3751:179:23;3806:10;3751:179;;;3785:7;-1:-1:-1;;;;;3751:179:23;;3868:7;3877:15;3906:14;3751:179;;-1:-1:-1;;;;;3751:179:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3940:31:23;;;;;;:22;:31;;;;;;;;:43;;;;;;;;3986:8;;;3940:54;;;-1:-1:-1;;3940:54:23;-1:-1:-1;;;;;3940:54:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3940:54:23;;;;;;;;;;-1:-1:-1;4039:24:23;;;;-1:-1:-1;;;;;4039:34:23;;4074:10;4086:1;4089:10;4039:61;;;;;;;;-1:-1:-1;;;4039:61:23;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4039:61:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4173:10:23;;3095:1095;-1:-1:-1;;;;;;;;3095:1095:23:o;238:20:33:-;;;-1:-1:-1;;;;;238:20:33;;:::o;834:169::-;654:5;;640:10;-1:-1:-1;;;;;640:19:33;;;654:5;;640:19;632:28;;;;;;-1:-1:-1;;;;;910:22:33;;;;902:31;;;;;;960:5;;-1:-1:-1;;;;;939:37:33;;;;960:5;939:37;;;;;;;;;;982:5;:16;;-1:-1:-1;;982:16:33;-1:-1:-1;;;;;982:16:33;;;;;;;;;;834:169::o;345:31:25:-;;;;:::o;707:191::-;786:7;832;-1:-1:-1;;;;;832:13:25;;:15;;;;;;;;;;;-1:-1:-1;;;832:15:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;812:56:25;;869:4;882:7;812:79;;;;;;;;-1:-1:-1;;;812:79:25;;;;;;-1:-1:-1;;;;;812:79:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;707:191;-1:-1:-1;;;707:191:25:o;265:6823:23:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o",
  "source": "pragma solidity ^0.4.18;\n\nimport \"../VotingMachines/IntVoteInterface.sol\";\nimport \"./UniversalScheme.sol\";\n\n\n/**\n * @title A registrar for Schemes for organizations\n * @dev The SchemeRegistrar is used for registering and unregistering schemes at organizations\n */\n\ncontract SchemeRegistrar is UniversalScheme {\n    event LogNewSchemeProposal(\n        address indexed _avatar,\n        bytes32 indexed _proposalId,\n        address indexed _intVoteInterface,\n        address _scheme,\n        bytes32 _parametersHash,\n        bool _isRegistering\n    );\n    event LogRemoveSchemeProposal(address indexed _avatar,\n        bytes32 indexed _proposalId,\n        address indexed _intVoteInterface,\n        address _scheme\n    );\n    event LogProposalExecuted(address indexed _avatar, bytes32 indexed _proposalId);\n    event LogProposalDeleted(address indexed _avatar, bytes32 indexed _proposalId);\n\n    // a SchemeProposal is a  proposal to add or remove a scheme to/from the an organization\n    struct SchemeProposal {\n        address scheme; //\n        bytes32 parametersHash;\n        uint proposalType; // 1: add a scheme, 2: remove a scheme.\n        bool isRegistering;\n    }\n\n    // A mapping from the organization (Avatar) address to the saved data of the organization:\n    mapping(address=>mapping(bytes32=>SchemeProposal)) public organizationsProposals;\n\n    // A mapping from hashes to parameters (use to store a particular configuration on the controller)\n    struct Parameters {\n        bytes32 voteRegisterParams;\n        bytes32 voteRemoveParams;\n        IntVoteInterface intVote;\n    }\n    mapping(bytes32=>Parameters) public parameters;\n\n    /**\n    * @dev The Constructor\n    */\n    function SchemeRegistrar() public {}\n\n    /**\n    * @dev hash the parameters, save them if necessary, and return the hash value\n    */\n    function setParameters(\n        bytes32 _voteRegisterParams,\n        bytes32 _voteRemoveParams,\n        IntVoteInterface _intVote\n    ) public returns(bytes32)\n    {\n        bytes32 paramsHash = getParametersHash(_voteRegisterParams, _voteRemoveParams, _intVote);\n        parameters[paramsHash].voteRegisterParams = _voteRegisterParams;\n        parameters[paramsHash].voteRemoveParams = _voteRemoveParams;\n        parameters[paramsHash].intVote = _intVote;\n        return paramsHash;\n    }\n\n    function getParametersHash(\n        bytes32 _voteRegisterParams,\n        bytes32 _voteRemoveParams,\n        IntVoteInterface _intVote\n    ) public pure returns(bytes32)\n    {\n        return keccak256(_voteRegisterParams, _voteRemoveParams, _intVote);\n    }\n\n    /**\n    * @dev create a proposal to register a scheme\n    * @param _avatar the address of the organization the scheme will be registered for\n    * @param _scheme the address of the scheme to be registered\n    * @param _parametersHash a hash of the configuration of the _scheme\n    * @param _isRegistering a boolean represent if the scheme is a registering scheme\n    *      that can register other schemes\n    * @return a proposal Id\n    * @dev NB: not only proposes the vote, but also votes for it\n    */\n    function proposeScheme(\n        Avatar _avatar,\n        address _scheme,\n        bytes32 _parametersHash,\n        bool _isRegistering\n    )\n    public\n    returns(bytes32)\n    {\n        // propose\n        Parameters memory controllerParams = parameters[getParametersFromController(_avatar)];\n\n        bytes32 proposalId = controllerParams.intVote.propose(2, controllerParams.voteRegisterParams, _avatar, ExecutableInterface(this));\n\n        SchemeProposal memory proposal = SchemeProposal({\n            scheme: _scheme,\n            parametersHash: _parametersHash,\n            proposalType: 1,\n            isRegistering: _isRegistering\n        });\n        LogNewSchemeProposal(\n            _avatar,\n            proposalId,\n            controllerParams.intVote,\n            _scheme, _parametersHash,\n            _isRegistering\n        );\n        organizationsProposals[_avatar][proposalId] = proposal;\n\n        // vote for this proposal\n        controllerParams.intVote.ownerVote(proposalId, 1, msg.sender); // Automatically votes `yes` in the name of the opener.\n        return proposalId;\n    }\n\n    /**\n    * @dev propose to remove a scheme for a controller\n    * @param _avatar the address of the controller from which we want to remove a scheme\n    * @param _scheme the address of the scheme we want to remove\n    *\n    * NB: not only registers the proposal, but also votes for it\n    */\n    function proposeToRemoveScheme(Avatar _avatar, address _scheme)\n    public\n    returns(bytes32)\n    {\n        bytes32 paramsHash = getParametersFromController(_avatar);\n        Parameters memory params = parameters[paramsHash];\n\n        IntVoteInterface intVote = params.intVote;\n        bytes32 proposalId = intVote.propose(2, params.voteRemoveParams, _avatar, ExecutableInterface(this));\n\n        organizationsProposals[_avatar][proposalId].proposalType = 2;\n        organizationsProposals[_avatar][proposalId].scheme = _scheme;\n        LogRemoveSchemeProposal(_avatar, proposalId, intVote, _scheme);\n        // vote for this proposal\n        intVote.ownerVote(proposalId, 1, msg.sender); // Automatically votes `yes` in the name of the opener.\n        return proposalId;\n    }\n\n    /**\n    * @dev execute a  proposal\n    * This method can only be called by the voting machine in which the vote is held.\n    * @param _proposalId the ID of the proposal in the voting machine\n    * @param _avatar address of the controller\n    * @param _param identifies the action to be taken\n    */\n    // TODO: this call can be simplified if we save the _avatar together with the proposal\n    function execute(bytes32 _proposalId, address _avatar, int _param) external returns(bool) {\n        // Check the caller is indeed the voting machine:\n        require(parameters[getParametersFromController(Avatar(_avatar))].intVote == msg.sender);\n\n        if (_param == 1) {\n\n        // Define controller and get the params:\n            ControllerInterface controller = ControllerInterface(Avatar(_avatar).owner());\n            SchemeProposal memory proposal = organizationsProposals[_avatar][_proposalId];\n\n        // Add a scheme:\n            if (proposal.proposalType == 1) {\n                if (proposal.isRegistering == false) {\n                    if (!controller.registerScheme(proposal.scheme, proposal.parametersHash, bytes4(1),_avatar)) {\n                        revert();\n                      }\n                      } else {\n                    if (!controller.registerScheme(proposal.scheme, proposal.parametersHash, bytes4(3),_avatar)) {\n                        revert();\n                    }\n                }\n                }\n        // Remove a scheme:\n            if ( proposal.proposalType == 2 ) {\n                if (!controller.unregisterScheme(proposal.scheme,_avatar)) {\n                    revert();\n                  }\n                }\n          }\n        delete organizationsProposals[_avatar][_proposalId];\n        LogProposalExecuted(_avatar, _proposalId);\n        return true;\n    }\n}\n",
  "sourcePath": "/home/travis/build/dev-matan-tsuberi/daostack/contracts/universalSchemes/SchemeRegistrar.sol",
  "ast": {
    "attributes": {
      "absolutePath": "/home/travis/build/dev-matan-tsuberi/daostack/contracts/universalSchemes/SchemeRegistrar.sol",
      "exportedSymbols": {
        "SchemeRegistrar": [
          7933
        ]
      }
    },
    "children": [
      {
        "attributes": {
          "literals": [
            "solidity",
            "^",
            "0.4",
            ".18"
          ]
        },
        "id": 7521,
        "name": "PragmaDirective",
        "src": "0:24:23"
      },
      {
        "attributes": {
          "SourceUnit": 2652,
          "absolutePath": "/home/travis/build/dev-matan-tsuberi/daostack/contracts/VotingMachines/IntVoteInterface.sol",
          "file": "../VotingMachines/IntVoteInterface.sol",
          "scope": 7934,
          "symbolAliases": [
            null
          ],
          "unitAlias": ""
        },
        "id": 7522,
        "name": "ImportDirective",
        "src": "26:48:23"
      },
      {
        "attributes": {
          "SourceUnit": 8466,
          "absolutePath": "/home/travis/build/dev-matan-tsuberi/daostack/contracts/universalSchemes/UniversalScheme.sol",
          "file": "./UniversalScheme.sol",
          "scope": 7934,
          "symbolAliases": [
            null
          ],
          "unitAlias": ""
        },
        "id": 7523,
        "name": "ImportDirective",
        "src": "75:31:23"
      },
      {
        "attributes": {
          "contractDependencies": [
            8465,
            8484,
            10301
          ],
          "contractKind": "contract",
          "documentation": "@title A registrar for Schemes for organizations\n@dev The SchemeRegistrar is used for registering and unregistering schemes at organizations",
          "fullyImplemented": true,
          "linearizedBaseContracts": [
            7933,
            8465,
            8484,
            10301
          ],
          "name": "SchemeRegistrar",
          "scope": 7934
        },
        "children": [
          {
            "attributes": {
              "arguments": [
                null
              ]
            },
            "children": [
              {
                "attributes": {
                  "contractScope": null,
                  "name": "UniversalScheme",
                  "referencedDeclaration": 8465,
                  "type": "contract UniversalScheme"
                },
                "id": 7524,
                "name": "UserDefinedTypeName",
                "src": "293:15:23"
              }
            ],
            "id": 7525,
            "name": "InheritanceSpecifier",
            "src": "293:15:23"
          },
          {
            "attributes": {
              "anonymous": false,
              "name": "LogNewSchemeProposal"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": true,
                      "name": "_avatar",
                      "scope": 7539,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 7526,
                        "name": "ElementaryTypeName",
                        "src": "351:7:23"
                      }
                    ],
                    "id": 7527,
                    "name": "VariableDeclaration",
                    "src": "351:23:23"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": true,
                      "name": "_proposalId",
                      "scope": 7539,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 7528,
                        "name": "ElementaryTypeName",
                        "src": "384:7:23"
                      }
                    ],
                    "id": 7529,
                    "name": "VariableDeclaration",
                    "src": "384:27:23"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": true,
                      "name": "_intVoteInterface",
                      "scope": 7539,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 7530,
                        "name": "ElementaryTypeName",
                        "src": "421:7:23"
                      }
                    ],
                    "id": 7531,
                    "name": "VariableDeclaration",
                    "src": "421:33:23"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": false,
                      "name": "_scheme",
                      "scope": 7539,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 7532,
                        "name": "ElementaryTypeName",
                        "src": "464:7:23"
                      }
                    ],
                    "id": 7533,
                    "name": "VariableDeclaration",
                    "src": "464:15:23"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": false,
                      "name": "_parametersHash",
                      "scope": 7539,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 7534,
                        "name": "ElementaryTypeName",
                        "src": "489:7:23"
                      }
                    ],
                    "id": 7535,
                    "name": "VariableDeclaration",
                    "src": "489:23:23"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": false,
                      "name": "_isRegistering",
                      "scope": 7539,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bool",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bool",
                          "type": "bool"
                        },
                        "id": 7536,
                        "name": "ElementaryTypeName",
                        "src": "522:4:23"
                      }
                    ],
                    "id": 7537,
                    "name": "VariableDeclaration",
                    "src": "522:19:23"
                  }
                ],
                "id": 7538,
                "name": "ParameterList",
                "src": "341:206:23"
              }
            ],
            "id": 7539,
            "name": "EventDefinition",
            "src": "315:233:23"
          },
          {
            "attributes": {
              "anonymous": false,
              "name": "LogRemoveSchemeProposal"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": true,
                      "name": "_avatar",
                      "scope": 7549,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 7540,
                        "name": "ElementaryTypeName",
                        "src": "583:7:23"
                      }
                    ],
                    "id": 7541,
                    "name": "VariableDeclaration",
                    "src": "583:23:23"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": true,
                      "name": "_proposalId",
                      "scope": 7549,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 7542,
                        "name": "ElementaryTypeName",
                        "src": "616:7:23"
                      }
                    ],
                    "id": 7543,
                    "name": "VariableDeclaration",
                    "src": "616:27:23"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": true,
                      "name": "_intVoteInterface",
                      "scope": 7549,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 7544,
                        "name": "ElementaryTypeName",
                        "src": "653:7:23"
                      }
                    ],
                    "id": 7545,
                    "name": "VariableDeclaration",
                    "src": "653:33:23"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": false,
                      "name": "_scheme",
                      "scope": 7549,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 7546,
                        "name": "ElementaryTypeName",
                        "src": "696:7:23"
                      }
                    ],
                    "id": 7547,
                    "name": "VariableDeclaration",
                    "src": "696:15:23"
                  }
                ],
                "id": 7548,
                "name": "ParameterList",
                "src": "582:135:23"
              }
            ],
            "id": 7549,
            "name": "EventDefinition",
            "src": "553:165:23"
          },
          {
            "attributes": {
              "anonymous": false,
              "name": "LogProposalExecuted"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": true,
                      "name": "_avatar",
                      "scope": 7555,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 7550,
                        "name": "ElementaryTypeName",
                        "src": "749:7:23"
                      }
                    ],
                    "id": 7551,
                    "name": "VariableDeclaration",
                    "src": "749:23:23"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": true,
                      "name": "_proposalId",
                      "scope": 7555,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 7552,
                        "name": "ElementaryTypeName",
                        "src": "774:7:23"
                      }
                    ],
                    "id": 7553,
                    "name": "VariableDeclaration",
                    "src": "774:27:23"
                  }
                ],
                "id": 7554,
                "name": "ParameterList",
                "src": "748:54:23"
              }
            ],
            "id": 7555,
            "name": "EventDefinition",
            "src": "723:80:23"
          },
          {
            "attributes": {
              "anonymous": false,
              "name": "LogProposalDeleted"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": true,
                      "name": "_avatar",
                      "scope": 7561,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 7556,
                        "name": "ElementaryTypeName",
                        "src": "833:7:23"
                      }
                    ],
                    "id": 7557,
                    "name": "VariableDeclaration",
                    "src": "833:23:23"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": true,
                      "name": "_proposalId",
                      "scope": 7561,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 7558,
                        "name": "ElementaryTypeName",
                        "src": "858:7:23"
                      }
                    ],
                    "id": 7559,
                    "name": "VariableDeclaration",
                    "src": "858:27:23"
                  }
                ],
                "id": 7560,
                "name": "ParameterList",
                "src": "832:54:23"
              }
            ],
            "id": 7561,
            "name": "EventDefinition",
            "src": "808:79:23"
          },
          {
            "attributes": {
              "canonicalName": "SchemeRegistrar.SchemeProposal",
              "name": "SchemeProposal",
              "scope": 7933,
              "visibility": "public"
            },
            "children": [
              {
                "attributes": {
                  "constant": false,
                  "name": "scheme",
                  "scope": 7570,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "address",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "address",
                      "type": "address"
                    },
                    "id": 7562,
                    "name": "ElementaryTypeName",
                    "src": "1018:7:23"
                  }
                ],
                "id": 7563,
                "name": "VariableDeclaration",
                "src": "1018:14:23"
              },
              {
                "attributes": {
                  "constant": false,
                  "name": "parametersHash",
                  "scope": 7570,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "bytes32",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "bytes32",
                      "type": "bytes32"
                    },
                    "id": 7564,
                    "name": "ElementaryTypeName",
                    "src": "1045:7:23"
                  }
                ],
                "id": 7565,
                "name": "VariableDeclaration",
                "src": "1045:22:23"
              },
              {
                "attributes": {
                  "constant": false,
                  "name": "proposalType",
                  "scope": 7570,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "uint256",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "uint",
                      "type": "uint256"
                    },
                    "id": 7566,
                    "name": "ElementaryTypeName",
                    "src": "1077:4:23"
                  }
                ],
                "id": 7567,
                "name": "VariableDeclaration",
                "src": "1077:17:23"
              },
              {
                "attributes": {
                  "constant": false,
                  "name": "isRegistering",
                  "scope": 7570,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "bool",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "bool",
                      "type": "bool"
                    },
                    "id": 7568,
                    "name": "ElementaryTypeName",
                    "src": "1144:4:23"
                  }
                ],
                "id": 7569,
                "name": "VariableDeclaration",
                "src": "1144:18:23"
              }
            ],
            "id": 7570,
            "name": "StructDefinition",
            "src": "986:183:23"
          },
          {
            "attributes": {
              "constant": false,
              "name": "organizationsProposals",
              "scope": 7933,
              "stateVariable": true,
              "storageLocation": "default",
              "type": "mapping(address => mapping(bytes32 => struct SchemeRegistrar.SchemeProposal storage ref))",
              "value": null,
              "visibility": "public"
            },
            "children": [
              {
                "attributes": {
                  "type": "mapping(address => mapping(bytes32 => struct SchemeRegistrar.SchemeProposal storage ref))"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "address",
                      "type": "address"
                    },
                    "id": 7571,
                    "name": "ElementaryTypeName",
                    "src": "1278:7:23"
                  },
                  {
                    "attributes": {
                      "type": "mapping(bytes32 => struct SchemeRegistrar.SchemeProposal storage ref)"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 7572,
                        "name": "ElementaryTypeName",
                        "src": "1295:7:23"
                      },
                      {
                        "attributes": {
                          "contractScope": null,
                          "name": "SchemeProposal",
                          "referencedDeclaration": 7570,
                          "type": "struct SchemeRegistrar.SchemeProposal storage pointer"
                        },
                        "id": 7573,
                        "name": "UserDefinedTypeName",
                        "src": "1304:14:23"
                      }
                    ],
                    "id": 7574,
                    "name": "Mapping",
                    "src": "1287:32:23"
                  }
                ],
                "id": 7575,
                "name": "Mapping",
                "src": "1270:50:23"
              }
            ],
            "id": 7576,
            "name": "VariableDeclaration",
            "src": "1270:80:23"
          },
          {
            "attributes": {
              "canonicalName": "SchemeRegistrar.Parameters",
              "name": "Parameters",
              "scope": 7933,
              "visibility": "public"
            },
            "children": [
              {
                "attributes": {
                  "constant": false,
                  "name": "voteRegisterParams",
                  "scope": 7583,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "bytes32",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "bytes32",
                      "type": "bytes32"
                    },
                    "id": 7577,
                    "name": "ElementaryTypeName",
                    "src": "1488:7:23"
                  }
                ],
                "id": 7578,
                "name": "VariableDeclaration",
                "src": "1488:26:23"
              },
              {
                "attributes": {
                  "constant": false,
                  "name": "voteRemoveParams",
                  "scope": 7583,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "bytes32",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "bytes32",
                      "type": "bytes32"
                    },
                    "id": 7579,
                    "name": "ElementaryTypeName",
                    "src": "1524:7:23"
                  }
                ],
                "id": 7580,
                "name": "VariableDeclaration",
                "src": "1524:24:23"
              },
              {
                "attributes": {
                  "constant": false,
                  "name": "intVote",
                  "scope": 7583,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "contract IntVoteInterface",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "contractScope": null,
                      "name": "IntVoteInterface",
                      "referencedDeclaration": 2651,
                      "type": "contract IntVoteInterface"
                    },
                    "id": 7581,
                    "name": "UserDefinedTypeName",
                    "src": "1558:16:23"
                  }
                ],
                "id": 7582,
                "name": "VariableDeclaration",
                "src": "1558:24:23"
              }
            ],
            "id": 7583,
            "name": "StructDefinition",
            "src": "1460:129:23"
          },
          {
            "attributes": {
              "constant": false,
              "name": "parameters",
              "scope": 7933,
              "stateVariable": true,
              "storageLocation": "default",
              "type": "mapping(bytes32 => struct SchemeRegistrar.Parameters storage ref)",
              "value": null,
              "visibility": "public"
            },
            "children": [
              {
                "attributes": {
                  "type": "mapping(bytes32 => struct SchemeRegistrar.Parameters storage ref)"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "bytes32",
                      "type": "bytes32"
                    },
                    "id": 7584,
                    "name": "ElementaryTypeName",
                    "src": "1602:7:23"
                  },
                  {
                    "attributes": {
                      "contractScope": null,
                      "name": "Parameters",
                      "referencedDeclaration": 7583,
                      "type": "struct SchemeRegistrar.Parameters storage pointer"
                    },
                    "id": 7585,
                    "name": "UserDefinedTypeName",
                    "src": "1611:10:23"
                  }
                ],
                "id": 7586,
                "name": "Mapping",
                "src": "1594:28:23"
              }
            ],
            "id": 7587,
            "name": "VariableDeclaration",
            "src": "1594:46:23"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": true,
              "modifiers": [
                null
              ],
              "name": "SchemeRegistrar",
              "payable": false,
              "scope": 7933,
              "stateMutability": "nonpayable",
              "superFunction": null,
              "visibility": "public"
            },
            "children": [
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 7588,
                "name": "ParameterList",
                "src": "1713:2:23"
              },
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 7589,
                "name": "ParameterList",
                "src": "1723:0:23"
              },
              {
                "attributes": {
                  "statements": [
                    null
                  ]
                },
                "children": [],
                "id": 7590,
                "name": "Block",
                "src": "1723:2:23"
              }
            ],
            "id": 7591,
            "name": "FunctionDefinition",
            "src": "1689:36:23"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "setParameters",
              "payable": false,
              "scope": 7933,
              "stateMutability": "nonpayable",
              "superFunction": null,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_voteRegisterParams",
                      "scope": 7634,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 7592,
                        "name": "ElementaryTypeName",
                        "src": "1860:7:23"
                      }
                    ],
                    "id": 7593,
                    "name": "VariableDeclaration",
                    "src": "1860:27:23"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_voteRemoveParams",
                      "scope": 7634,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 7594,
                        "name": "ElementaryTypeName",
                        "src": "1897:7:23"
                      }
                    ],
                    "id": 7595,
                    "name": "VariableDeclaration",
                    "src": "1897:25:23"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_intVote",
                      "scope": 7634,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "contract IntVoteInterface",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "contractScope": null,
                          "name": "IntVoteInterface",
                          "referencedDeclaration": 2651,
                          "type": "contract IntVoteInterface"
                        },
                        "id": 7596,
                        "name": "UserDefinedTypeName",
                        "src": "1932:16:23"
                      }
                    ],
                    "id": 7597,
                    "name": "VariableDeclaration",
                    "src": "1932:25:23"
                  }
                ],
                "id": 7598,
                "name": "ParameterList",
                "src": "1850:113:23"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 7634,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 7599,
                        "name": "ElementaryTypeName",
                        "src": "1979:7:23"
                      }
                    ],
                    "id": 7600,
                    "name": "VariableDeclaration",
                    "src": "1979:7:23"
                  }
                ],
                "id": 7601,
                "name": "ParameterList",
                "src": "1978:9:23"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "assignments": [
                        7603
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "paramsHash",
                          "scope": 7634,
                          "stateVariable": false,
                          "storageLocation": "default",
                          "type": "bytes32",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "bytes32",
                              "type": "bytes32"
                            },
                            "id": 7602,
                            "name": "ElementaryTypeName",
                            "src": "2002:7:23"
                          }
                        ],
                        "id": 7603,
                        "name": "VariableDeclaration",
                        "src": "2002:18:23"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "bytes32",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                },
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                },
                                {
                                  "typeIdentifier": "t_contract$_IntVoteInterface_$2651",
                                  "typeString": "contract IntVoteInterface"
                                }
                              ],
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 7652,
                              "type": "function (bytes32,bytes32,contract IntVoteInterface) pure returns (bytes32)",
                              "value": "getParametersHash"
                            },
                            "id": 7604,
                            "name": "Identifier",
                            "src": "2023:17:23"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 7593,
                              "type": "bytes32",
                              "value": "_voteRegisterParams"
                            },
                            "id": 7605,
                            "name": "Identifier",
                            "src": "2041:19:23"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 7595,
                              "type": "bytes32",
                              "value": "_voteRemoveParams"
                            },
                            "id": 7606,
                            "name": "Identifier",
                            "src": "2062:17:23"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 7597,
                              "type": "contract IntVoteInterface",
                              "value": "_intVote"
                            },
                            "id": 7607,
                            "name": "Identifier",
                            "src": "2081:8:23"
                          }
                        ],
                        "id": 7608,
                        "name": "FunctionCall",
                        "src": "2023:67:23"
                      }
                    ],
                    "id": 7609,
                    "name": "VariableDeclarationStatement",
                    "src": "2002:88:23"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "bytes32"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "member_name": "voteRegisterParams",
                              "referencedDeclaration": 7578,
                              "type": "bytes32"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "type": "struct SchemeRegistrar.Parameters storage ref"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 7587,
                                      "type": "mapping(bytes32 => struct SchemeRegistrar.Parameters storage ref)",
                                      "value": "parameters"
                                    },
                                    "id": 7610,
                                    "name": "Identifier",
                                    "src": "2100:10:23"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 7603,
                                      "type": "bytes32",
                                      "value": "paramsHash"
                                    },
                                    "id": 7611,
                                    "name": "Identifier",
                                    "src": "2111:10:23"
                                  }
                                ],
                                "id": 7612,
                                "name": "IndexAccess",
                                "src": "2100:22:23"
                              }
                            ],
                            "id": 7613,
                            "name": "MemberAccess",
                            "src": "2100:41:23"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 7593,
                              "type": "bytes32",
                              "value": "_voteRegisterParams"
                            },
                            "id": 7614,
                            "name": "Identifier",
                            "src": "2144:19:23"
                          }
                        ],
                        "id": 7615,
                        "name": "Assignment",
                        "src": "2100:63:23"
                      }
                    ],
                    "id": 7616,
                    "name": "ExpressionStatement",
                    "src": "2100:63:23"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "bytes32"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "member_name": "voteRemoveParams",
                              "referencedDeclaration": 7580,
                              "type": "bytes32"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "type": "struct SchemeRegistrar.Parameters storage ref"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 7587,
                                      "type": "mapping(bytes32 => struct SchemeRegistrar.Parameters storage ref)",
                                      "value": "parameters"
                                    },
                                    "id": 7617,
                                    "name": "Identifier",
                                    "src": "2173:10:23"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 7603,
                                      "type": "bytes32",
                                      "value": "paramsHash"
                                    },
                                    "id": 7618,
                                    "name": "Identifier",
                                    "src": "2184:10:23"
                                  }
                                ],
                                "id": 7619,
                                "name": "IndexAccess",
                                "src": "2173:22:23"
                              }
                            ],
                            "id": 7620,
                            "name": "MemberAccess",
                            "src": "2173:39:23"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 7595,
                              "type": "bytes32",
                              "value": "_voteRemoveParams"
                            },
                            "id": 7621,
                            "name": "Identifier",
                            "src": "2215:17:23"
                          }
                        ],
                        "id": 7622,
                        "name": "Assignment",
                        "src": "2173:59:23"
                      }
                    ],
                    "id": 7623,
                    "name": "ExpressionStatement",
                    "src": "2173:59:23"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "contract IntVoteInterface"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "member_name": "intVote",
                              "referencedDeclaration": 7582,
                              "type": "contract IntVoteInterface"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "type": "struct SchemeRegistrar.Parameters storage ref"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 7587,
                                      "type": "mapping(bytes32 => struct SchemeRegistrar.Parameters storage ref)",
                                      "value": "parameters"
                                    },
                                    "id": 7624,
                                    "name": "Identifier",
                                    "src": "2242:10:23"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 7603,
                                      "type": "bytes32",
                                      "value": "paramsHash"
                                    },
                                    "id": 7625,
                                    "name": "Identifier",
                                    "src": "2253:10:23"
                                  }
                                ],
                                "id": 7626,
                                "name": "IndexAccess",
                                "src": "2242:22:23"
                              }
                            ],
                            "id": 7627,
                            "name": "MemberAccess",
                            "src": "2242:30:23"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 7597,
                              "type": "contract IntVoteInterface",
                              "value": "_intVote"
                            },
                            "id": 7628,
                            "name": "Identifier",
                            "src": "2275:8:23"
                          }
                        ],
                        "id": 7629,
                        "name": "Assignment",
                        "src": "2242:41:23"
                      }
                    ],
                    "id": 7630,
                    "name": "ExpressionStatement",
                    "src": "2242:41:23"
                  },
                  {
                    "attributes": {
                      "functionReturnParameters": 7601
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "overloadedDeclarations": [
                            null
                          ],
                          "referencedDeclaration": 7603,
                          "type": "bytes32",
                          "value": "paramsHash"
                        },
                        "id": 7631,
                        "name": "Identifier",
                        "src": "2300:10:23"
                      }
                    ],
                    "id": 7632,
                    "name": "Return",
                    "src": "2293:17:23"
                  }
                ],
                "id": 7633,
                "name": "Block",
                "src": "1992:325:23"
              }
            ],
            "id": 7634,
            "name": "FunctionDefinition",
            "src": "1828:489:23"
          },
          {
            "attributes": {
              "constant": true,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "getParametersHash",
              "payable": false,
              "scope": 7933,
              "stateMutability": "pure",
              "superFunction": null,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_voteRegisterParams",
                      "scope": 7652,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 7635,
                        "name": "ElementaryTypeName",
                        "src": "2359:7:23"
                      }
                    ],
                    "id": 7636,
                    "name": "VariableDeclaration",
                    "src": "2359:27:23"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_voteRemoveParams",
                      "scope": 7652,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 7637,
                        "name": "ElementaryTypeName",
                        "src": "2396:7:23"
                      }
                    ],
                    "id": 7638,
                    "name": "VariableDeclaration",
                    "src": "2396:25:23"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_intVote",
                      "scope": 7652,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "contract IntVoteInterface",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "contractScope": null,
                          "name": "IntVoteInterface",
                          "referencedDeclaration": 2651,
                          "type": "contract IntVoteInterface"
                        },
                        "id": 7639,
                        "name": "UserDefinedTypeName",
                        "src": "2431:16:23"
                      }
                    ],
                    "id": 7640,
                    "name": "VariableDeclaration",
                    "src": "2431:25:23"
                  }
                ],
                "id": 7641,
                "name": "ParameterList",
                "src": "2349:113:23"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 7652,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 7642,
                        "name": "ElementaryTypeName",
                        "src": "2483:7:23"
                      }
                    ],
                    "id": 7643,
                    "name": "VariableDeclaration",
                    "src": "2483:7:23"
                  }
                ],
                "id": 7644,
                "name": "ParameterList",
                "src": "2482:9:23"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "functionReturnParameters": 7644
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "bytes32",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                },
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                },
                                {
                                  "typeIdentifier": "t_contract$_IntVoteInterface_$2651",
                                  "typeString": "contract IntVoteInterface"
                                }
                              ],
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 10861,
                              "type": "function () pure returns (bytes32)",
                              "value": "keccak256"
                            },
                            "id": 7645,
                            "name": "Identifier",
                            "src": "2513:9:23"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 7636,
                              "type": "bytes32",
                              "value": "_voteRegisterParams"
                            },
                            "id": 7646,
                            "name": "Identifier",
                            "src": "2523:19:23"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 7638,
                              "type": "bytes32",
                              "value": "_voteRemoveParams"
                            },
                            "id": 7647,
                            "name": "Identifier",
                            "src": "2544:17:23"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 7640,
                              "type": "contract IntVoteInterface",
                              "value": "_intVote"
                            },
                            "id": 7648,
                            "name": "Identifier",
                            "src": "2563:8:23"
                          }
                        ],
                        "id": 7649,
                        "name": "FunctionCall",
                        "src": "2513:59:23"
                      }
                    ],
                    "id": 7650,
                    "name": "Return",
                    "src": "2506:66:23"
                  }
                ],
                "id": 7651,
                "name": "Block",
                "src": "2496:83:23"
              }
            ],
            "id": 7652,
            "name": "FunctionDefinition",
            "src": "2323:256:23"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "proposeScheme",
              "payable": false,
              "scope": 7933,
              "stateMutability": "nonpayable",
              "superFunction": null,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_avatar",
                      "scope": 7728,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "contract Avatar",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "contractScope": null,
                          "name": "Avatar",
                          "referencedDeclaration": 3065,
                          "type": "contract Avatar"
                        },
                        "id": 7653,
                        "name": "UserDefinedTypeName",
                        "src": "3127:6:23"
                      }
                    ],
                    "id": 7654,
                    "name": "VariableDeclaration",
                    "src": "3127:14:23"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_scheme",
                      "scope": 7728,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 7655,
                        "name": "ElementaryTypeName",
                        "src": "3151:7:23"
                      }
                    ],
                    "id": 7656,
                    "name": "VariableDeclaration",
                    "src": "3151:15:23"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_parametersHash",
                      "scope": 7728,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 7657,
                        "name": "ElementaryTypeName",
                        "src": "3176:7:23"
                      }
                    ],
                    "id": 7658,
                    "name": "VariableDeclaration",
                    "src": "3176:23:23"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_isRegistering",
                      "scope": 7728,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bool",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bool",
                          "type": "bool"
                        },
                        "id": 7659,
                        "name": "ElementaryTypeName",
                        "src": "3209:4:23"
                      }
                    ],
                    "id": 7660,
                    "name": "VariableDeclaration",
                    "src": "3209:19:23"
                  }
                ],
                "id": 7661,
                "name": "ParameterList",
                "src": "3117:117:23"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 7728,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 7662,
                        "name": "ElementaryTypeName",
                        "src": "3258:7:23"
                      }
                    ],
                    "id": 7663,
                    "name": "VariableDeclaration",
                    "src": "3258:7:23"
                  }
                ],
                "id": 7664,
                "name": "ParameterList",
                "src": "3257:9:23"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "assignments": [
                        7666
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "controllerParams",
                          "scope": 7728,
                          "stateVariable": false,
                          "storageLocation": "memory",
                          "type": "struct SchemeRegistrar.Parameters memory",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "contractScope": null,
                              "name": "Parameters",
                              "referencedDeclaration": 7583,
                              "type": "struct SchemeRegistrar.Parameters storage pointer"
                            },
                            "id": 7665,
                            "name": "UserDefinedTypeName",
                            "src": "3300:10:23"
                          }
                        ],
                        "id": 7666,
                        "name": "VariableDeclaration",
                        "src": "3300:34:23"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "type": "struct SchemeRegistrar.Parameters storage ref"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 7587,
                              "type": "mapping(bytes32 => struct SchemeRegistrar.Parameters storage ref)",
                              "value": "parameters"
                            },
                            "id": 7667,
                            "name": "Identifier",
                            "src": "3337:10:23"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "isStructConstructorCall": false,
                              "lValueRequested": false,
                              "names": [
                                null
                              ],
                              "type": "bytes32",
                              "type_conversion": false
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_contract$_Avatar_$3065",
                                      "typeString": "contract Avatar"
                                    }
                                  ],
                                  "overloadedDeclarations": [
                                    8464
                                  ],
                                  "referencedDeclaration": 8464,
                                  "type": "function (contract Avatar) view returns (bytes32)",
                                  "value": "getParametersFromController"
                                },
                                "id": 7668,
                                "name": "Identifier",
                                "src": "3348:27:23"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 7654,
                                  "type": "contract Avatar",
                                  "value": "_avatar"
                                },
                                "id": 7669,
                                "name": "Identifier",
                                "src": "3376:7:23"
                              }
                            ],
                            "id": 7670,
                            "name": "FunctionCall",
                            "src": "3348:36:23"
                          }
                        ],
                        "id": 7671,
                        "name": "IndexAccess",
                        "src": "3337:48:23"
                      }
                    ],
                    "id": 7672,
                    "name": "VariableDeclarationStatement",
                    "src": "3300:85:23"
                  },
                  {
                    "attributes": {
                      "assignments": [
                        7674
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "proposalId",
                          "scope": 7728,
                          "stateVariable": false,
                          "storageLocation": "default",
                          "type": "bytes32",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "bytes32",
                              "type": "bytes32"
                            },
                            "id": 7673,
                            "name": "ElementaryTypeName",
                            "src": "3396:7:23"
                          }
                        ],
                        "id": 7674,
                        "name": "VariableDeclaration",
                        "src": "3396:18:23"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "bytes32",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_rational_2_by_1",
                                  "typeString": "int_const 2"
                                },
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                },
                                {
                                  "typeIdentifier": "t_contract$_Avatar_$3065",
                                  "typeString": "contract Avatar"
                                },
                                {
                                  "typeIdentifier": "t_contract$_ExecutableInterface_$6617",
                                  "typeString": "contract ExecutableInterface"
                                }
                              ],
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "propose",
                              "referencedDeclaration": 2563,
                              "type": "function (uint256,bytes32,address,contract ExecutableInterface) external returns (bytes32)"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "member_name": "intVote",
                                  "referencedDeclaration": 7582,
                                  "type": "contract IntVoteInterface"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 7666,
                                      "type": "struct SchemeRegistrar.Parameters memory",
                                      "value": "controllerParams"
                                    },
                                    "id": 7675,
                                    "name": "Identifier",
                                    "src": "3417:16:23"
                                  }
                                ],
                                "id": 7676,
                                "name": "MemberAccess",
                                "src": "3417:24:23"
                              }
                            ],
                            "id": 7677,
                            "name": "MemberAccess",
                            "src": "3417:32:23"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "hexvalue": "32",
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "subdenomination": null,
                              "token": "number",
                              "type": "int_const 2",
                              "value": "2"
                            },
                            "id": 7678,
                            "name": "Literal",
                            "src": "3450:1:23"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "voteRegisterParams",
                              "referencedDeclaration": 7578,
                              "type": "bytes32"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 7666,
                                  "type": "struct SchemeRegistrar.Parameters memory",
                                  "value": "controllerParams"
                                },
                                "id": 7679,
                                "name": "Identifier",
                                "src": "3453:16:23"
                              }
                            ],
                            "id": 7680,
                            "name": "MemberAccess",
                            "src": "3453:35:23"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 7654,
                              "type": "contract Avatar",
                              "value": "_avatar"
                            },
                            "id": 7681,
                            "name": "Identifier",
                            "src": "3490:7:23"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "isStructConstructorCall": false,
                              "lValueRequested": false,
                              "names": [
                                null
                              ],
                              "type": "contract ExecutableInterface",
                              "type_conversion": true
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_contract$_SchemeRegistrar_$7933",
                                      "typeString": "contract SchemeRegistrar"
                                    }
                                  ],
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 6617,
                                  "type": "type(contract ExecutableInterface)",
                                  "value": "ExecutableInterface"
                                },
                                "id": 7682,
                                "name": "Identifier",
                                "src": "3499:19:23"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 10950,
                                  "type": "contract SchemeRegistrar",
                                  "value": "this"
                                },
                                "id": 7683,
                                "name": "Identifier",
                                "src": "3519:4:23"
                              }
                            ],
                            "id": 7684,
                            "name": "FunctionCall",
                            "src": "3499:25:23"
                          }
                        ],
                        "id": 7685,
                        "name": "FunctionCall",
                        "src": "3417:108:23"
                      }
                    ],
                    "id": 7686,
                    "name": "VariableDeclarationStatement",
                    "src": "3396:129:23"
                  },
                  {
                    "attributes": {
                      "assignments": [
                        7688
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "proposal",
                          "scope": 7728,
                          "stateVariable": false,
                          "storageLocation": "memory",
                          "type": "struct SchemeRegistrar.SchemeProposal memory",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "contractScope": null,
                              "name": "SchemeProposal",
                              "referencedDeclaration": 7570,
                              "type": "struct SchemeRegistrar.SchemeProposal storage pointer"
                            },
                            "id": 7687,
                            "name": "UserDefinedTypeName",
                            "src": "3536:14:23"
                          }
                        ],
                        "id": 7688,
                        "name": "VariableDeclaration",
                        "src": "3536:30:23"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": true,
                          "lValueRequested": false,
                          "names": [
                            "scheme",
                            "parametersHash",
                            "proposalType",
                            "isRegistering"
                          ],
                          "type": "struct SchemeRegistrar.SchemeProposal memory",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 7570,
                              "type": "type(struct SchemeRegistrar.SchemeProposal storage pointer)",
                              "value": "SchemeProposal"
                            },
                            "id": 7689,
                            "name": "Identifier",
                            "src": "3569:14:23"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 7656,
                              "type": "address",
                              "value": "_scheme"
                            },
                            "id": 7690,
                            "name": "Identifier",
                            "src": "3606:7:23"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 7658,
                              "type": "bytes32",
                              "value": "_parametersHash"
                            },
                            "id": 7691,
                            "name": "Identifier",
                            "src": "3643:15:23"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "hexvalue": "31",
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "subdenomination": null,
                              "token": "number",
                              "type": "int_const 1",
                              "value": "1"
                            },
                            "id": 7692,
                            "name": "Literal",
                            "src": "3686:1:23"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 7660,
                              "type": "bool",
                              "value": "_isRegistering"
                            },
                            "id": 7693,
                            "name": "Identifier",
                            "src": "3716:14:23"
                          }
                        ],
                        "id": 7694,
                        "name": "FunctionCall",
                        "src": "3569:172:23"
                      }
                    ],
                    "id": 7695,
                    "name": "VariableDeclarationStatement",
                    "src": "3536:205:23"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "tuple()",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_contract$_Avatar_$3065",
                                  "typeString": "contract Avatar"
                                },
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                },
                                {
                                  "typeIdentifier": "t_contract$_IntVoteInterface_$2651",
                                  "typeString": "contract IntVoteInterface"
                                },
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                },
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                },
                                {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              ],
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 7539,
                              "type": "function (address,bytes32,address,address,bytes32,bool)",
                              "value": "LogNewSchemeProposal"
                            },
                            "id": 7696,
                            "name": "Identifier",
                            "src": "3751:20:23"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 7654,
                              "type": "contract Avatar",
                              "value": "_avatar"
                            },
                            "id": 7697,
                            "name": "Identifier",
                            "src": "3785:7:23"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 7674,
                              "type": "bytes32",
                              "value": "proposalId"
                            },
                            "id": 7698,
                            "name": "Identifier",
                            "src": "3806:10:23"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "intVote",
                              "referencedDeclaration": 7582,
                              "type": "contract IntVoteInterface"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 7666,
                                  "type": "struct SchemeRegistrar.Parameters memory",
                                  "value": "controllerParams"
                                },
                                "id": 7699,
                                "name": "Identifier",
                                "src": "3830:16:23"
                              }
                            ],
                            "id": 7700,
                            "name": "MemberAccess",
                            "src": "3830:24:23"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 7656,
                              "type": "address",
                              "value": "_scheme"
                            },
                            "id": 7701,
                            "name": "Identifier",
                            "src": "3868:7:23"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 7658,
                              "type": "bytes32",
                              "value": "_parametersHash"
                            },
                            "id": 7702,
                            "name": "Identifier",
                            "src": "3877:15:23"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 7660,
                              "type": "bool",
                              "value": "_isRegistering"
                            },
                            "id": 7703,
                            "name": "Identifier",
                            "src": "3906:14:23"
                          }
                        ],
                        "id": 7704,
                        "name": "FunctionCall",
                        "src": "3751:179:23"
                      }
                    ],
                    "id": 7705,
                    "name": "ExpressionStatement",
                    "src": "3751:179:23"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "struct SchemeRegistrar.SchemeProposal storage ref"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "type": "struct SchemeRegistrar.SchemeProposal storage ref"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "type": "mapping(bytes32 => struct SchemeRegistrar.SchemeProposal storage ref)"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 7576,
                                      "type": "mapping(address => mapping(bytes32 => struct SchemeRegistrar.SchemeProposal storage ref))",
                                      "value": "organizationsProposals"
                                    },
                                    "id": 7706,
                                    "name": "Identifier",
                                    "src": "3940:22:23"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 7654,
                                      "type": "contract Avatar",
                                      "value": "_avatar"
                                    },
                                    "id": 7707,
                                    "name": "Identifier",
                                    "src": "3963:7:23"
                                  }
                                ],
                                "id": 7709,
                                "name": "IndexAccess",
                                "src": "3940:31:23"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 7674,
                                  "type": "bytes32",
                                  "value": "proposalId"
                                },
                                "id": 7708,
                                "name": "Identifier",
                                "src": "3972:10:23"
                              }
                            ],
                            "id": 7710,
                            "name": "IndexAccess",
                            "src": "3940:43:23"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 7688,
                              "type": "struct SchemeRegistrar.SchemeProposal memory",
                              "value": "proposal"
                            },
                            "id": 7711,
                            "name": "Identifier",
                            "src": "3986:8:23"
                          }
                        ],
                        "id": 7712,
                        "name": "Assignment",
                        "src": "3940:54:23"
                      }
                    ],
                    "id": 7713,
                    "name": "ExpressionStatement",
                    "src": "3940:54:23"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "bool",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                },
                                {
                                  "typeIdentifier": "t_rational_1_by_1",
                                  "typeString": "int_const 1"
                                },
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              ],
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "ownerVote",
                              "referencedDeclaration": 2590,
                              "type": "function (bytes32,uint256,address) external returns (bool)"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "member_name": "intVote",
                                  "referencedDeclaration": 7582,
                                  "type": "contract IntVoteInterface"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 7666,
                                      "type": "struct SchemeRegistrar.Parameters memory",
                                      "value": "controllerParams"
                                    },
                                    "id": 7714,
                                    "name": "Identifier",
                                    "src": "4039:16:23"
                                  }
                                ],
                                "id": 7717,
                                "name": "MemberAccess",
                                "src": "4039:24:23"
                              }
                            ],
                            "id": 7718,
                            "name": "MemberAccess",
                            "src": "4039:34:23"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 7674,
                              "type": "bytes32",
                              "value": "proposalId"
                            },
                            "id": 7719,
                            "name": "Identifier",
                            "src": "4074:10:23"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "hexvalue": "31",
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "subdenomination": null,
                              "token": "number",
                              "type": "int_const 1",
                              "value": "1"
                            },
                            "id": 7720,
                            "name": "Literal",
                            "src": "4086:1:23"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "sender",
                              "referencedDeclaration": null,
                              "type": "address"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 10867,
                                  "type": "msg",
                                  "value": "msg"
                                },
                                "id": 7721,
                                "name": "Identifier",
                                "src": "4089:3:23"
                              }
                            ],
                            "id": 7722,
                            "name": "MemberAccess",
                            "src": "4089:10:23"
                          }
                        ],
                        "id": 7723,
                        "name": "FunctionCall",
                        "src": "4039:61:23"
                      }
                    ],
                    "id": 7724,
                    "name": "ExpressionStatement",
                    "src": "4039:61:23"
                  },
                  {
                    "attributes": {
                      "functionReturnParameters": 7664
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "overloadedDeclarations": [
                            null
                          ],
                          "referencedDeclaration": 7674,
                          "type": "bytes32",
                          "value": "proposalId"
                        },
                        "id": 7725,
                        "name": "Identifier",
                        "src": "4173:10:23"
                      }
                    ],
                    "id": 7726,
                    "name": "Return",
                    "src": "4166:17:23"
                  }
                ],
                "id": 7727,
                "name": "Block",
                "src": "3271:919:23"
              }
            ],
            "id": 7728,
            "name": "FunctionDefinition",
            "src": "3095:1095:23"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "proposeToRemoveScheme",
              "payable": false,
              "scope": 7933,
              "stateMutability": "nonpayable",
              "superFunction": null,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_avatar",
                      "scope": 7804,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "contract Avatar",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "contractScope": null,
                          "name": "Avatar",
                          "referencedDeclaration": 3065,
                          "type": "contract Avatar"
                        },
                        "id": 7729,
                        "name": "UserDefinedTypeName",
                        "src": "4522:6:23"
                      }
                    ],
                    "id": 7730,
                    "name": "VariableDeclaration",
                    "src": "4522:14:23"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_scheme",
                      "scope": 7804,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 7731,
                        "name": "ElementaryTypeName",
                        "src": "4538:7:23"
                      }
                    ],
                    "id": 7732,
                    "name": "VariableDeclaration",
                    "src": "4538:15:23"
                  }
                ],
                "id": 7733,
                "name": "ParameterList",
                "src": "4521:33:23"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 7804,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 7734,
                        "name": "ElementaryTypeName",
                        "src": "4578:7:23"
                      }
                    ],
                    "id": 7735,
                    "name": "VariableDeclaration",
                    "src": "4578:7:23"
                  }
                ],
                "id": 7736,
                "name": "ParameterList",
                "src": "4577:9:23"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "assignments": [
                        7738
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "paramsHash",
                          "scope": 7804,
                          "stateVariable": false,
                          "storageLocation": "default",
                          "type": "bytes32",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "bytes32",
                              "type": "bytes32"
                            },
                            "id": 7737,
                            "name": "ElementaryTypeName",
                            "src": "4601:7:23"
                          }
                        ],
                        "id": 7738,
                        "name": "VariableDeclaration",
                        "src": "4601:18:23"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "bytes32",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_contract$_Avatar_$3065",
                                  "typeString": "contract Avatar"
                                }
                              ],
                              "overloadedDeclarations": [
                                8464
                              ],
                              "referencedDeclaration": 8464,
                              "type": "function (contract Avatar) view returns (bytes32)",
                              "value": "getParametersFromController"
                            },
                            "id": 7739,
                            "name": "Identifier",
                            "src": "4622:27:23"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 7730,
                              "type": "contract Avatar",
                              "value": "_avatar"
                            },
                            "id": 7740,
                            "name": "Identifier",
                            "src": "4650:7:23"
                          }
                        ],
                        "id": 7741,
                        "name": "FunctionCall",
                        "src": "4622:36:23"
                      }
                    ],
                    "id": 7742,
                    "name": "VariableDeclarationStatement",
                    "src": "4601:57:23"
                  },
                  {
                    "attributes": {
                      "assignments": [
                        7744
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "params",
                          "scope": 7804,
                          "stateVariable": false,
                          "storageLocation": "memory",
                          "type": "struct SchemeRegistrar.Parameters memory",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "contractScope": null,
                              "name": "Parameters",
                              "referencedDeclaration": 7583,
                              "type": "struct SchemeRegistrar.Parameters storage pointer"
                            },
                            "id": 7743,
                            "name": "UserDefinedTypeName",
                            "src": "4668:10:23"
                          }
                        ],
                        "id": 7744,
                        "name": "VariableDeclaration",
                        "src": "4668:24:23"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "type": "struct SchemeRegistrar.Parameters storage ref"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 7587,
                              "type": "mapping(bytes32 => struct SchemeRegistrar.Parameters storage ref)",
                              "value": "parameters"
                            },
                            "id": 7745,
                            "name": "Identifier",
                            "src": "4695:10:23"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 7738,
                              "type": "bytes32",
                              "value": "paramsHash"
                            },
                            "id": 7746,
                            "name": "Identifier",
                            "src": "4706:10:23"
                          }
                        ],
                        "id": 7747,
                        "name": "IndexAccess",
                        "src": "4695:22:23"
                      }
                    ],
                    "id": 7748,
                    "name": "VariableDeclarationStatement",
                    "src": "4668:49:23"
                  },
                  {
                    "attributes": {
                      "assignments": [
                        7750
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "intVote",
                          "scope": 7804,
                          "stateVariable": false,
                          "storageLocation": "default",
                          "type": "contract IntVoteInterface",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "contractScope": null,
                              "name": "IntVoteInterface",
                              "referencedDeclaration": 2651,
                              "type": "contract IntVoteInterface"
                            },
                            "id": 7749,
                            "name": "UserDefinedTypeName",
                            "src": "4728:16:23"
                          }
                        ],
                        "id": 7750,
                        "name": "VariableDeclaration",
                        "src": "4728:24:23"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "member_name": "intVote",
                          "referencedDeclaration": 7582,
                          "type": "contract IntVoteInterface"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 7744,
                              "type": "struct SchemeRegistrar.Parameters memory",
                              "value": "params"
                            },
                            "id": 7751,
                            "name": "Identifier",
                            "src": "4755:6:23"
                          }
                        ],
                        "id": 7752,
                        "name": "MemberAccess",
                        "src": "4755:14:23"
                      }
                    ],
                    "id": 7753,
                    "name": "VariableDeclarationStatement",
                    "src": "4728:41:23"
                  },
                  {
                    "attributes": {
                      "assignments": [
                        7755
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "proposalId",
                          "scope": 7804,
                          "stateVariable": false,
                          "storageLocation": "default",
                          "type": "bytes32",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "bytes32",
                              "type": "bytes32"
                            },
                            "id": 7754,
                            "name": "ElementaryTypeName",
                            "src": "4779:7:23"
                          }
                        ],
                        "id": 7755,
                        "name": "VariableDeclaration",
                        "src": "4779:18:23"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "bytes32",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_rational_2_by_1",
                                  "typeString": "int_const 2"
                                },
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                },
                                {
                                  "typeIdentifier": "t_contract$_Avatar_$3065",
                                  "typeString": "contract Avatar"
                                },
                                {
                                  "typeIdentifier": "t_contract$_ExecutableInterface_$6617",
                                  "typeString": "contract ExecutableInterface"
                                }
                              ],
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "propose",
                              "referencedDeclaration": 2563,
                              "type": "function (uint256,bytes32,address,contract ExecutableInterface) external returns (bytes32)"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 7750,
                                  "type": "contract IntVoteInterface",
                                  "value": "intVote"
                                },
                                "id": 7756,
                                "name": "Identifier",
                                "src": "4800:7:23"
                              }
                            ],
                            "id": 7757,
                            "name": "MemberAccess",
                            "src": "4800:15:23"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "hexvalue": "32",
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "subdenomination": null,
                              "token": "number",
                              "type": "int_const 2",
                              "value": "2"
                            },
                            "id": 7758,
                            "name": "Literal",
                            "src": "4816:1:23"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "voteRemoveParams",
                              "referencedDeclaration": 7580,
                              "type": "bytes32"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 7744,
                                  "type": "struct SchemeRegistrar.Parameters memory",
                                  "value": "params"
                                },
                                "id": 7759,
                                "name": "Identifier",
                                "src": "4819:6:23"
                              }
                            ],
                            "id": 7760,
                            "name": "MemberAccess",
                            "src": "4819:23:23"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 7730,
                              "type": "contract Avatar",
                              "value": "_avatar"
                            },
                            "id": 7761,
                            "name": "Identifier",
                            "src": "4844:7:23"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "isStructConstructorCall": false,
                              "lValueRequested": false,
                              "names": [
                                null
                              ],
                              "type": "contract ExecutableInterface",
                              "type_conversion": true
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_contract$_SchemeRegistrar_$7933",
                                      "typeString": "contract SchemeRegistrar"
                                    }
                                  ],
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 6617,
                                  "type": "type(contract ExecutableInterface)",
                                  "value": "ExecutableInterface"
                                },
                                "id": 7762,
                                "name": "Identifier",
                                "src": "4853:19:23"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 10950,
                                  "type": "contract SchemeRegistrar",
                                  "value": "this"
                                },
                                "id": 7763,
                                "name": "Identifier",
                                "src": "4873:4:23"
                              }
                            ],
                            "id": 7764,
                            "name": "FunctionCall",
                            "src": "4853:25:23"
                          }
                        ],
                        "id": 7765,
                        "name": "FunctionCall",
                        "src": "4800:79:23"
                      }
                    ],
                    "id": 7766,
                    "name": "VariableDeclarationStatement",
                    "src": "4779:100:23"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "uint256"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "member_name": "proposalType",
                              "referencedDeclaration": 7567,
                              "type": "uint256"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "type": "struct SchemeRegistrar.SchemeProposal storage ref"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "type": "mapping(bytes32 => struct SchemeRegistrar.SchemeProposal storage ref)"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 7576,
                                          "type": "mapping(address => mapping(bytes32 => struct SchemeRegistrar.SchemeProposal storage ref))",
                                          "value": "organizationsProposals"
                                        },
                                        "id": 7767,
                                        "name": "Identifier",
                                        "src": "4890:22:23"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 7730,
                                          "type": "contract Avatar",
                                          "value": "_avatar"
                                        },
                                        "id": 7768,
                                        "name": "Identifier",
                                        "src": "4913:7:23"
                                      }
                                    ],
                                    "id": 7770,
                                    "name": "IndexAccess",
                                    "src": "4890:31:23"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 7755,
                                      "type": "bytes32",
                                      "value": "proposalId"
                                    },
                                    "id": 7769,
                                    "name": "Identifier",
                                    "src": "4922:10:23"
                                  }
                                ],
                                "id": 7771,
                                "name": "IndexAccess",
                                "src": "4890:43:23"
                              }
                            ],
                            "id": 7772,
                            "name": "MemberAccess",
                            "src": "4890:56:23"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "hexvalue": "32",
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "subdenomination": null,
                              "token": "number",
                              "type": "int_const 2",
                              "value": "2"
                            },
                            "id": 7773,
                            "name": "Literal",
                            "src": "4949:1:23"
                          }
                        ],
                        "id": 7774,
                        "name": "Assignment",
                        "src": "4890:60:23"
                      }
                    ],
                    "id": 7775,
                    "name": "ExpressionStatement",
                    "src": "4890:60:23"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "address"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "member_name": "scheme",
                              "referencedDeclaration": 7563,
                              "type": "address"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "type": "struct SchemeRegistrar.SchemeProposal storage ref"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "type": "mapping(bytes32 => struct SchemeRegistrar.SchemeProposal storage ref)"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 7576,
                                          "type": "mapping(address => mapping(bytes32 => struct SchemeRegistrar.SchemeProposal storage ref))",
                                          "value": "organizationsProposals"
                                        },
                                        "id": 7776,
                                        "name": "Identifier",
                                        "src": "4960:22:23"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 7730,
                                          "type": "contract Avatar",
                                          "value": "_avatar"
                                        },
                                        "id": 7777,
                                        "name": "Identifier",
                                        "src": "4983:7:23"
                                      }
                                    ],
                                    "id": 7779,
                                    "name": "IndexAccess",
                                    "src": "4960:31:23"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 7755,
                                      "type": "bytes32",
                                      "value": "proposalId"
                                    },
                                    "id": 7778,
                                    "name": "Identifier",
                                    "src": "4992:10:23"
                                  }
                                ],
                                "id": 7780,
                                "name": "IndexAccess",
                                "src": "4960:43:23"
                              }
                            ],
                            "id": 7781,
                            "name": "MemberAccess",
                            "src": "4960:50:23"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 7732,
                              "type": "address",
                              "value": "_scheme"
                            },
                            "id": 7782,
                            "name": "Identifier",
                            "src": "5013:7:23"
                          }
                        ],
                        "id": 7783,
                        "name": "Assignment",
                        "src": "4960:60:23"
                      }
                    ],
                    "id": 7784,
                    "name": "ExpressionStatement",
                    "src": "4960:60:23"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "tuple()",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_contract$_Avatar_$3065",
                                  "typeString": "contract Avatar"
                                },
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                },
                                {
                                  "typeIdentifier": "t_contract$_IntVoteInterface_$2651",
                                  "typeString": "contract IntVoteInterface"
                                },
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              ],
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 7549,
                              "type": "function (address,bytes32,address,address)",
                              "value": "LogRemoveSchemeProposal"
                            },
                            "id": 7785,
                            "name": "Identifier",
                            "src": "5030:23:23"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 7730,
                              "type": "contract Avatar",
                              "value": "_avatar"
                            },
                            "id": 7786,
                            "name": "Identifier",
                            "src": "5054:7:23"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 7755,
                              "type": "bytes32",
                              "value": "proposalId"
                            },
                            "id": 7787,
                            "name": "Identifier",
                            "src": "5063:10:23"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 7750,
                              "type": "contract IntVoteInterface",
                              "value": "intVote"
                            },
                            "id": 7788,
                            "name": "Identifier",
                            "src": "5075:7:23"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 7732,
                              "type": "address",
                              "value": "_scheme"
                            },
                            "id": 7789,
                            "name": "Identifier",
                            "src": "5084:7:23"
                          }
                        ],
                        "id": 7790,
                        "name": "FunctionCall",
                        "src": "5030:62:23"
                      }
                    ],
                    "id": 7791,
                    "name": "ExpressionStatement",
                    "src": "5030:62:23"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "bool",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                },
                                {
                                  "typeIdentifier": "t_rational_1_by_1",
                                  "typeString": "int_const 1"
                                },
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              ],
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "ownerVote",
                              "referencedDeclaration": 2590,
                              "type": "function (bytes32,uint256,address) external returns (bool)"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 7750,
                                  "type": "contract IntVoteInterface",
                                  "value": "intVote"
                                },
                                "id": 7792,
                                "name": "Identifier",
                                "src": "5136:7:23"
                              }
                            ],
                            "id": 7794,
                            "name": "MemberAccess",
                            "src": "5136:17:23"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 7755,
                              "type": "bytes32",
                              "value": "proposalId"
                            },
                            "id": 7795,
                            "name": "Identifier",
                            "src": "5154:10:23"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "hexvalue": "31",
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "subdenomination": null,
                              "token": "number",
                              "type": "int_const 1",
                              "value": "1"
                            },
                            "id": 7796,
                            "name": "Literal",
                            "src": "5166:1:23"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "sender",
                              "referencedDeclaration": null,
                              "type": "address"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 10867,
                                  "type": "msg",
                                  "value": "msg"
                                },
                                "id": 7797,
                                "name": "Identifier",
                                "src": "5169:3:23"
                              }
                            ],
                            "id": 7798,
                            "name": "MemberAccess",
                            "src": "5169:10:23"
                          }
                        ],
                        "id": 7799,
                        "name": "FunctionCall",
                        "src": "5136:44:23"
                      }
                    ],
                    "id": 7800,
                    "name": "ExpressionStatement",
                    "src": "5136:44:23"
                  },
                  {
                    "attributes": {
                      "functionReturnParameters": 7736
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "overloadedDeclarations": [
                            null
                          ],
                          "referencedDeclaration": 7755,
                          "type": "bytes32",
                          "value": "proposalId"
                        },
                        "id": 7801,
                        "name": "Identifier",
                        "src": "5253:10:23"
                      }
                    ],
                    "id": 7802,
                    "name": "Return",
                    "src": "5246:17:23"
                  }
                ],
                "id": 7803,
                "name": "Block",
                "src": "4591:679:23"
              }
            ],
            "id": 7804,
            "name": "FunctionDefinition",
            "src": "4491:779:23"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "execute",
              "payable": false,
              "scope": 7933,
              "stateMutability": "nonpayable",
              "superFunction": null,
              "visibility": "external"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_proposalId",
                      "scope": 7932,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 7805,
                        "name": "ElementaryTypeName",
                        "src": "5687:7:23"
                      }
                    ],
                    "id": 7806,
                    "name": "VariableDeclaration",
                    "src": "5687:19:23"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_avatar",
                      "scope": 7932,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 7807,
                        "name": "ElementaryTypeName",
                        "src": "5708:7:23"
                      }
                    ],
                    "id": 7808,
                    "name": "VariableDeclaration",
                    "src": "5708:15:23"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_param",
                      "scope": 7932,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "int256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "int",
                          "type": "int256"
                        },
                        "id": 7809,
                        "name": "ElementaryTypeName",
                        "src": "5725:3:23"
                      }
                    ],
                    "id": 7810,
                    "name": "VariableDeclaration",
                    "src": "5725:10:23"
                  }
                ],
                "id": 7811,
                "name": "ParameterList",
                "src": "5686:50:23"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 7932,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bool",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bool",
                          "type": "bool"
                        },
                        "id": 7812,
                        "name": "ElementaryTypeName",
                        "src": "5754:4:23"
                      }
                    ],
                    "id": 7813,
                    "name": "VariableDeclaration",
                    "src": "5754:4:23"
                  }
                ],
                "id": 7814,
                "name": "ParameterList",
                "src": "5753:6:23"
              },
              {
                "children": [
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "tuple()",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              ],
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 10870,
                              "type": "function (bool) pure",
                              "value": "require"
                            },
                            "id": 7815,
                            "name": "Identifier",
                            "src": "5828:7:23"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "commonType": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              },
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "operator": "==",
                              "type": "bool"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "member_name": "intVote",
                                  "referencedDeclaration": 7582,
                                  "type": "contract IntVoteInterface"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "type": "struct SchemeRegistrar.Parameters storage ref"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 7587,
                                          "type": "mapping(bytes32 => struct SchemeRegistrar.Parameters storage ref)",
                                          "value": "parameters"
                                        },
                                        "id": 7816,
                                        "name": "Identifier",
                                        "src": "5836:10:23"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "isStructConstructorCall": false,
                                          "lValueRequested": false,
                                          "names": [
                                            null
                                          ],
                                          "type": "bytes32",
                                          "type_conversion": false
                                        },
                                        "children": [
                                          {
                                            "attributes": {
                                              "argumentTypes": [
                                                {
                                                  "typeIdentifier": "t_contract$_Avatar_$3065",
                                                  "typeString": "contract Avatar"
                                                }
                                              ],
                                              "overloadedDeclarations": [
                                                8464
                                              ],
                                              "referencedDeclaration": 8464,
                                              "type": "function (contract Avatar) view returns (bytes32)",
                                              "value": "getParametersFromController"
                                            },
                                            "id": 7817,
                                            "name": "Identifier",
                                            "src": "5847:27:23"
                                          },
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "isConstant": false,
                                              "isLValue": false,
                                              "isPure": false,
                                              "isStructConstructorCall": false,
                                              "lValueRequested": false,
                                              "names": [
                                                null
                                              ],
                                              "type": "contract Avatar",
                                              "type_conversion": true
                                            },
                                            "children": [
                                              {
                                                "attributes": {
                                                  "argumentTypes": [
                                                    {
                                                      "typeIdentifier": "t_address",
                                                      "typeString": "address"
                                                    }
                                                  ],
                                                  "overloadedDeclarations": [
                                                    null
                                                  ],
                                                  "referencedDeclaration": 3065,
                                                  "type": "type(contract Avatar)",
                                                  "value": "Avatar"
                                                },
                                                "id": 7818,
                                                "name": "Identifier",
                                                "src": "5875:6:23"
                                              },
                                              {
                                                "attributes": {
                                                  "argumentTypes": null,
                                                  "overloadedDeclarations": [
                                                    null
                                                  ],
                                                  "referencedDeclaration": 7808,
                                                  "type": "address",
                                                  "value": "_avatar"
                                                },
                                                "id": 7819,
                                                "name": "Identifier",
                                                "src": "5882:7:23"
                                              }
                                            ],
                                            "id": 7820,
                                            "name": "FunctionCall",
                                            "src": "5875:15:23"
                                          }
                                        ],
                                        "id": 7821,
                                        "name": "FunctionCall",
                                        "src": "5847:44:23"
                                      }
                                    ],
                                    "id": 7822,
                                    "name": "IndexAccess",
                                    "src": "5836:56:23"
                                  }
                                ],
                                "id": 7823,
                                "name": "MemberAccess",
                                "src": "5836:64:23"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "member_name": "sender",
                                  "referencedDeclaration": null,
                                  "type": "address"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 10867,
                                      "type": "msg",
                                      "value": "msg"
                                    },
                                    "id": 7824,
                                    "name": "Identifier",
                                    "src": "5904:3:23"
                                  }
                                ],
                                "id": 7825,
                                "name": "MemberAccess",
                                "src": "5904:10:23"
                              }
                            ],
                            "id": 7826,
                            "name": "BinaryOperation",
                            "src": "5836:78:23"
                          }
                        ],
                        "id": 7827,
                        "name": "FunctionCall",
                        "src": "5828:87:23"
                      }
                    ],
                    "id": 7828,
                    "name": "ExpressionStatement",
                    "src": "5828:87:23"
                  },
                  {
                    "attributes": {
                      "falseBody": null
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_int256",
                            "typeString": "int256"
                          },
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "==",
                          "type": "bool"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 7810,
                              "type": "int256",
                              "value": "_param"
                            },
                            "id": 7829,
                            "name": "Identifier",
                            "src": "5930:6:23"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "hexvalue": "31",
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "subdenomination": null,
                              "token": "number",
                              "type": "int_const 1",
                              "value": "1"
                            },
                            "id": 7830,
                            "name": "Literal",
                            "src": "5940:1:23"
                          }
                        ],
                        "id": 7831,
                        "name": "BinaryOperation",
                        "src": "5930:11:23"
                      },
                      {
                        "children": [
                          {
                            "attributes": {
                              "assignments": [
                                7833
                              ]
                            },
                            "children": [
                              {
                                "attributes": {
                                  "constant": false,
                                  "name": "controller",
                                  "scope": 7932,
                                  "stateVariable": false,
                                  "storageLocation": "default",
                                  "type": "contract ControllerInterface",
                                  "value": null,
                                  "visibility": "internal"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "contractScope": null,
                                      "name": "ControllerInterface",
                                      "referencedDeclaration": 4364,
                                      "type": "contract ControllerInterface"
                                    },
                                    "id": 7832,
                                    "name": "UserDefinedTypeName",
                                    "src": "6007:19:23"
                                  }
                                ],
                                "id": 7833,
                                "name": "VariableDeclaration",
                                "src": "6007:30:23"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "isStructConstructorCall": false,
                                  "lValueRequested": false,
                                  "names": [
                                    null
                                  ],
                                  "type": "contract ControllerInterface",
                                  "type_conversion": true
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_address",
                                          "typeString": "address"
                                        }
                                      ],
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 4364,
                                      "type": "type(contract ControllerInterface)",
                                      "value": "ControllerInterface"
                                    },
                                    "id": 7834,
                                    "name": "Identifier",
                                    "src": "6040:19:23"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "arguments": [
                                        null
                                      ],
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "isStructConstructorCall": false,
                                      "lValueRequested": false,
                                      "names": [
                                        null
                                      ],
                                      "type": "address",
                                      "type_conversion": false
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": [
                                            null
                                          ],
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "member_name": "owner",
                                          "referencedDeclaration": 10249,
                                          "type": "function () view external returns (address)"
                                        },
                                        "children": [
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "isConstant": false,
                                              "isLValue": false,
                                              "isPure": false,
                                              "isStructConstructorCall": false,
                                              "lValueRequested": false,
                                              "names": [
                                                null
                                              ],
                                              "type": "contract Avatar",
                                              "type_conversion": true
                                            },
                                            "children": [
                                              {
                                                "attributes": {
                                                  "argumentTypes": [
                                                    {
                                                      "typeIdentifier": "t_address",
                                                      "typeString": "address"
                                                    }
                                                  ],
                                                  "overloadedDeclarations": [
                                                    null
                                                  ],
                                                  "referencedDeclaration": 3065,
                                                  "type": "type(contract Avatar)",
                                                  "value": "Avatar"
                                                },
                                                "id": 7835,
                                                "name": "Identifier",
                                                "src": "6060:6:23"
                                              },
                                              {
                                                "attributes": {
                                                  "argumentTypes": null,
                                                  "overloadedDeclarations": [
                                                    null
                                                  ],
                                                  "referencedDeclaration": 7808,
                                                  "type": "address",
                                                  "value": "_avatar"
                                                },
                                                "id": 7836,
                                                "name": "Identifier",
                                                "src": "6067:7:23"
                                              }
                                            ],
                                            "id": 7837,
                                            "name": "FunctionCall",
                                            "src": "6060:15:23"
                                          }
                                        ],
                                        "id": 7838,
                                        "name": "MemberAccess",
                                        "src": "6060:21:23"
                                      }
                                    ],
                                    "id": 7839,
                                    "name": "FunctionCall",
                                    "src": "6060:23:23"
                                  }
                                ],
                                "id": 7840,
                                "name": "FunctionCall",
                                "src": "6040:44:23"
                              }
                            ],
                            "id": 7841,
                            "name": "VariableDeclarationStatement",
                            "src": "6007:77:23"
                          },
                          {
                            "attributes": {
                              "assignments": [
                                7843
                              ]
                            },
                            "children": [
                              {
                                "attributes": {
                                  "constant": false,
                                  "name": "proposal",
                                  "scope": 7932,
                                  "stateVariable": false,
                                  "storageLocation": "memory",
                                  "type": "struct SchemeRegistrar.SchemeProposal memory",
                                  "value": null,
                                  "visibility": "internal"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "contractScope": null,
                                      "name": "SchemeProposal",
                                      "referencedDeclaration": 7570,
                                      "type": "struct SchemeRegistrar.SchemeProposal storage pointer"
                                    },
                                    "id": 7842,
                                    "name": "UserDefinedTypeName",
                                    "src": "6098:14:23"
                                  }
                                ],
                                "id": 7843,
                                "name": "VariableDeclaration",
                                "src": "6098:30:23"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "type": "struct SchemeRegistrar.SchemeProposal storage ref"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "type": "mapping(bytes32 => struct SchemeRegistrar.SchemeProposal storage ref)"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 7576,
                                          "type": "mapping(address => mapping(bytes32 => struct SchemeRegistrar.SchemeProposal storage ref))",
                                          "value": "organizationsProposals"
                                        },
                                        "id": 7844,
                                        "name": "Identifier",
                                        "src": "6131:22:23"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 7808,
                                          "type": "address",
                                          "value": "_avatar"
                                        },
                                        "id": 7845,
                                        "name": "Identifier",
                                        "src": "6154:7:23"
                                      }
                                    ],
                                    "id": 7846,
                                    "name": "IndexAccess",
                                    "src": "6131:31:23"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 7806,
                                      "type": "bytes32",
                                      "value": "_proposalId"
                                    },
                                    "id": 7847,
                                    "name": "Identifier",
                                    "src": "6163:11:23"
                                  }
                                ],
                                "id": 7848,
                                "name": "IndexAccess",
                                "src": "6131:44:23"
                              }
                            ],
                            "id": 7849,
                            "name": "VariableDeclarationStatement",
                            "src": "6098:77:23"
                          },
                          {
                            "attributes": {
                              "falseBody": null
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "commonType": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  },
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "operator": "==",
                                  "type": "bool"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "member_name": "proposalType",
                                      "referencedDeclaration": 7567,
                                      "type": "uint256"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 7843,
                                          "type": "struct SchemeRegistrar.SchemeProposal memory",
                                          "value": "proposal"
                                        },
                                        "id": 7850,
                                        "name": "Identifier",
                                        "src": "6219:8:23"
                                      }
                                    ],
                                    "id": 7851,
                                    "name": "MemberAccess",
                                    "src": "6219:21:23"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "hexvalue": "31",
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "subdenomination": null,
                                      "token": "number",
                                      "type": "int_const 1",
                                      "value": "1"
                                    },
                                    "id": 7852,
                                    "name": "Literal",
                                    "src": "6244:1:23"
                                  }
                                ],
                                "id": 7853,
                                "name": "BinaryOperation",
                                "src": "6219:26:23"
                              },
                              {
                                "children": [
                                  {
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "commonType": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                          },
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "operator": "==",
                                          "type": "bool"
                                        },
                                        "children": [
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "isConstant": false,
                                              "isLValue": true,
                                              "isPure": false,
                                              "lValueRequested": false,
                                              "member_name": "isRegistering",
                                              "referencedDeclaration": 7569,
                                              "type": "bool"
                                            },
                                            "children": [
                                              {
                                                "attributes": {
                                                  "argumentTypes": null,
                                                  "overloadedDeclarations": [
                                                    null
                                                  ],
                                                  "referencedDeclaration": 7843,
                                                  "type": "struct SchemeRegistrar.SchemeProposal memory",
                                                  "value": "proposal"
                                                },
                                                "id": 7854,
                                                "name": "Identifier",
                                                "src": "6269:8:23"
                                              }
                                            ],
                                            "id": 7855,
                                            "name": "MemberAccess",
                                            "src": "6269:22:23"
                                          },
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "hexvalue": "66616c7365",
                                              "isConstant": false,
                                              "isLValue": false,
                                              "isPure": true,
                                              "lValueRequested": false,
                                              "subdenomination": null,
                                              "token": "bool",
                                              "type": "bool",
                                              "value": "false"
                                            },
                                            "id": 7856,
                                            "name": "Literal",
                                            "src": "6295:5:23"
                                          }
                                        ],
                                        "id": 7857,
                                        "name": "BinaryOperation",
                                        "src": "6269:31:23"
                                      },
                                      {
                                        "children": [
                                          {
                                            "attributes": {
                                              "falseBody": null
                                            },
                                            "children": [
                                              {
                                                "attributes": {
                                                  "argumentTypes": null,
                                                  "isConstant": false,
                                                  "isLValue": false,
                                                  "isPure": false,
                                                  "lValueRequested": false,
                                                  "operator": "!",
                                                  "prefix": true,
                                                  "type": "bool"
                                                },
                                                "children": [
                                                  {
                                                    "attributes": {
                                                      "argumentTypes": null,
                                                      "isConstant": false,
                                                      "isLValue": false,
                                                      "isPure": false,
                                                      "isStructConstructorCall": false,
                                                      "lValueRequested": false,
                                                      "names": [
                                                        null
                                                      ],
                                                      "type": "bool",
                                                      "type_conversion": false
                                                    },
                                                    "children": [
                                                      {
                                                        "attributes": {
                                                          "argumentTypes": [
                                                            {
                                                              "typeIdentifier": "t_address",
                                                              "typeString": "address"
                                                            },
                                                            {
                                                              "typeIdentifier": "t_bytes32",
                                                              "typeString": "bytes32"
                                                            },
                                                            {
                                                              "typeIdentifier": "t_bytes4",
                                                              "typeString": "bytes4"
                                                            },
                                                            {
                                                              "typeIdentifier": "t_address",
                                                              "typeString": "address"
                                                            }
                                                          ],
                                                          "isConstant": false,
                                                          "isLValue": false,
                                                          "isPure": false,
                                                          "lValueRequested": false,
                                                          "member_name": "registerScheme",
                                                          "referencedDeclaration": 4200,
                                                          "type": "function (address,bytes32,bytes4,address) external returns (bool)"
                                                        },
                                                        "children": [
                                                          {
                                                            "attributes": {
                                                              "argumentTypes": null,
                                                              "overloadedDeclarations": [
                                                                null
                                                              ],
                                                              "referencedDeclaration": 7833,
                                                              "type": "contract ControllerInterface",
                                                              "value": "controller"
                                                            },
                                                            "id": 7858,
                                                            "name": "Identifier",
                                                            "src": "6329:10:23"
                                                          }
                                                        ],
                                                        "id": 7859,
                                                        "name": "MemberAccess",
                                                        "src": "6329:25:23"
                                                      },
                                                      {
                                                        "attributes": {
                                                          "argumentTypes": null,
                                                          "isConstant": false,
                                                          "isLValue": true,
                                                          "isPure": false,
                                                          "lValueRequested": false,
                                                          "member_name": "scheme",
                                                          "referencedDeclaration": 7563,
                                                          "type": "address"
                                                        },
                                                        "children": [
                                                          {
                                                            "attributes": {
                                                              "argumentTypes": null,
                                                              "overloadedDeclarations": [
                                                                null
                                                              ],
                                                              "referencedDeclaration": 7843,
                                                              "type": "struct SchemeRegistrar.SchemeProposal memory",
                                                              "value": "proposal"
                                                            },
                                                            "id": 7860,
                                                            "name": "Identifier",
                                                            "src": "6355:8:23"
                                                          }
                                                        ],
                                                        "id": 7861,
                                                        "name": "MemberAccess",
                                                        "src": "6355:15:23"
                                                      },
                                                      {
                                                        "attributes": {
                                                          "argumentTypes": null,
                                                          "isConstant": false,
                                                          "isLValue": true,
                                                          "isPure": false,
                                                          "lValueRequested": false,
                                                          "member_name": "parametersHash",
                                                          "referencedDeclaration": 7565,
                                                          "type": "bytes32"
                                                        },
                                                        "children": [
                                                          {
                                                            "attributes": {
                                                              "argumentTypes": null,
                                                              "overloadedDeclarations": [
                                                                null
                                                              ],
                                                              "referencedDeclaration": 7843,
                                                              "type": "struct SchemeRegistrar.SchemeProposal memory",
                                                              "value": "proposal"
                                                            },
                                                            "id": 7862,
                                                            "name": "Identifier",
                                                            "src": "6372:8:23"
                                                          }
                                                        ],
                                                        "id": 7863,
                                                        "name": "MemberAccess",
                                                        "src": "6372:23:23"
                                                      },
                                                      {
                                                        "attributes": {
                                                          "argumentTypes": null,
                                                          "isConstant": false,
                                                          "isLValue": false,
                                                          "isPure": true,
                                                          "isStructConstructorCall": false,
                                                          "lValueRequested": false,
                                                          "names": [
                                                            null
                                                          ],
                                                          "type": "bytes4",
                                                          "type_conversion": true
                                                        },
                                                        "children": [
                                                          {
                                                            "attributes": {
                                                              "argumentTypes": [
                                                                {
                                                                  "typeIdentifier": "t_rational_1_by_1",
                                                                  "typeString": "int_const 1"
                                                                }
                                                              ],
                                                              "isConstant": false,
                                                              "isLValue": false,
                                                              "isPure": true,
                                                              "lValueRequested": false,
                                                              "type": "type(bytes4)",
                                                              "value": "bytes4"
                                                            },
                                                            "id": 7864,
                                                            "name": "ElementaryTypeNameExpression",
                                                            "src": "6397:6:23"
                                                          },
                                                          {
                                                            "attributes": {
                                                              "argumentTypes": null,
                                                              "hexvalue": "31",
                                                              "isConstant": false,
                                                              "isLValue": false,
                                                              "isPure": true,
                                                              "lValueRequested": false,
                                                              "subdenomination": null,
                                                              "token": "number",
                                                              "type": "int_const 1",
                                                              "value": "1"
                                                            },
                                                            "id": 7865,
                                                            "name": "Literal",
                                                            "src": "6404:1:23"
                                                          }
                                                        ],
                                                        "id": 7866,
                                                        "name": "FunctionCall",
                                                        "src": "6397:9:23"
                                                      },
                                                      {
                                                        "attributes": {
                                                          "argumentTypes": null,
                                                          "overloadedDeclarations": [
                                                            null
                                                          ],
                                                          "referencedDeclaration": 7808,
                                                          "type": "address",
                                                          "value": "_avatar"
                                                        },
                                                        "id": 7867,
                                                        "name": "Identifier",
                                                        "src": "6407:7:23"
                                                      }
                                                    ],
                                                    "id": 7868,
                                                    "name": "FunctionCall",
                                                    "src": "6329:86:23"
                                                  }
                                                ],
                                                "id": 7869,
                                                "name": "UnaryOperation",
                                                "src": "6328:87:23"
                                              },
                                              {
                                                "children": [
                                                  {
                                                    "children": [
                                                      {
                                                        "attributes": {
                                                          "argumentTypes": null,
                                                          "arguments": [
                                                            null
                                                          ],
                                                          "isConstant": false,
                                                          "isLValue": false,
                                                          "isPure": false,
                                                          "isStructConstructorCall": false,
                                                          "lValueRequested": false,
                                                          "names": [
                                                            null
                                                          ],
                                                          "type": "tuple()",
                                                          "type_conversion": false
                                                        },
                                                        "children": [
                                                          {
                                                            "attributes": {
                                                              "argumentTypes": [
                                                                null
                                                              ],
                                                              "overloadedDeclarations": [
                                                                null
                                                              ],
                                                              "referencedDeclaration": 10871,
                                                              "type": "function () pure",
                                                              "value": "revert"
                                                            },
                                                            "id": 7870,
                                                            "name": "Identifier",
                                                            "src": "6443:6:23"
                                                          }
                                                        ],
                                                        "id": 7871,
                                                        "name": "FunctionCall",
                                                        "src": "6443:8:23"
                                                      }
                                                    ],
                                                    "id": 7872,
                                                    "name": "ExpressionStatement",
                                                    "src": "6443:8:23"
                                                  }
                                                ],
                                                "id": 7873,
                                                "name": "Block",
                                                "src": "6417:59:23"
                                              }
                                            ],
                                            "id": 7874,
                                            "name": "IfStatement",
                                            "src": "6324:152:23"
                                          }
                                        ],
                                        "id": 7875,
                                        "name": "Block",
                                        "src": "6302:198:23"
                                      },
                                      {
                                        "children": [
                                          {
                                            "attributes": {
                                              "falseBody": null
                                            },
                                            "children": [
                                              {
                                                "attributes": {
                                                  "argumentTypes": null,
                                                  "isConstant": false,
                                                  "isLValue": false,
                                                  "isPure": false,
                                                  "lValueRequested": false,
                                                  "operator": "!",
                                                  "prefix": true,
                                                  "type": "bool"
                                                },
                                                "children": [
                                                  {
                                                    "attributes": {
                                                      "argumentTypes": null,
                                                      "isConstant": false,
                                                      "isLValue": false,
                                                      "isPure": false,
                                                      "isStructConstructorCall": false,
                                                      "lValueRequested": false,
                                                      "names": [
                                                        null
                                                      ],
                                                      "type": "bool",
                                                      "type_conversion": false
                                                    },
                                                    "children": [
                                                      {
                                                        "attributes": {
                                                          "argumentTypes": [
                                                            {
                                                              "typeIdentifier": "t_address",
                                                              "typeString": "address"
                                                            },
                                                            {
                                                              "typeIdentifier": "t_bytes32",
                                                              "typeString": "bytes32"
                                                            },
                                                            {
                                                              "typeIdentifier": "t_bytes4",
                                                              "typeString": "bytes4"
                                                            },
                                                            {
                                                              "typeIdentifier": "t_address",
                                                              "typeString": "address"
                                                            }
                                                          ],
                                                          "isConstant": false,
                                                          "isLValue": false,
                                                          "isPure": false,
                                                          "lValueRequested": false,
                                                          "member_name": "registerScheme",
                                                          "referencedDeclaration": 4200,
                                                          "type": "function (address,bytes32,bytes4,address) external returns (bool)"
                                                        },
                                                        "children": [
                                                          {
                                                            "attributes": {
                                                              "argumentTypes": null,
                                                              "overloadedDeclarations": [
                                                                null
                                                              ],
                                                              "referencedDeclaration": 7833,
                                                              "type": "contract ControllerInterface",
                                                              "value": "controller"
                                                            },
                                                            "id": 7876,
                                                            "name": "Identifier",
                                                            "src": "6533:10:23"
                                                          }
                                                        ],
                                                        "id": 7877,
                                                        "name": "MemberAccess",
                                                        "src": "6533:25:23"
                                                      },
                                                      {
                                                        "attributes": {
                                                          "argumentTypes": null,
                                                          "isConstant": false,
                                                          "isLValue": true,
                                                          "isPure": false,
                                                          "lValueRequested": false,
                                                          "member_name": "scheme",
                                                          "referencedDeclaration": 7563,
                                                          "type": "address"
                                                        },
                                                        "children": [
                                                          {
                                                            "attributes": {
                                                              "argumentTypes": null,
                                                              "overloadedDeclarations": [
                                                                null
                                                              ],
                                                              "referencedDeclaration": 7843,
                                                              "type": "struct SchemeRegistrar.SchemeProposal memory",
                                                              "value": "proposal"
                                                            },
                                                            "id": 7878,
                                                            "name": "Identifier",
                                                            "src": "6559:8:23"
                                                          }
                                                        ],
                                                        "id": 7879,
                                                        "name": "MemberAccess",
                                                        "src": "6559:15:23"
                                                      },
                                                      {
                                                        "attributes": {
                                                          "argumentTypes": null,
                                                          "isConstant": false,
                                                          "isLValue": true,
                                                          "isPure": false,
                                                          "lValueRequested": false,
                                                          "member_name": "parametersHash",
                                                          "referencedDeclaration": 7565,
                                                          "type": "bytes32"
                                                        },
                                                        "children": [
                                                          {
                                                            "attributes": {
                                                              "argumentTypes": null,
                                                              "overloadedDeclarations": [
                                                                null
                                                              ],
                                                              "referencedDeclaration": 7843,
                                                              "type": "struct SchemeRegistrar.SchemeProposal memory",
                                                              "value": "proposal"
                                                            },
                                                            "id": 7880,
                                                            "name": "Identifier",
                                                            "src": "6576:8:23"
                                                          }
                                                        ],
                                                        "id": 7881,
                                                        "name": "MemberAccess",
                                                        "src": "6576:23:23"
                                                      },
                                                      {
                                                        "attributes": {
                                                          "argumentTypes": null,
                                                          "isConstant": false,
                                                          "isLValue": false,
                                                          "isPure": true,
                                                          "isStructConstructorCall": false,
                                                          "lValueRequested": false,
                                                          "names": [
                                                            null
                                                          ],
                                                          "type": "bytes4",
                                                          "type_conversion": true
                                                        },
                                                        "children": [
                                                          {
                                                            "attributes": {
                                                              "argumentTypes": [
                                                                {
                                                                  "typeIdentifier": "t_rational_3_by_1",
                                                                  "typeString": "int_const 3"
                                                                }
                                                              ],
                                                              "isConstant": false,
                                                              "isLValue": false,
                                                              "isPure": true,
                                                              "lValueRequested": false,
                                                              "type": "type(bytes4)",
                                                              "value": "bytes4"
                                                            },
                                                            "id": 7882,
                                                            "name": "ElementaryTypeNameExpression",
                                                            "src": "6601:6:23"
                                                          },
                                                          {
                                                            "attributes": {
                                                              "argumentTypes": null,
                                                              "hexvalue": "33",
                                                              "isConstant": false,
                                                              "isLValue": false,
                                                              "isPure": true,
                                                              "lValueRequested": false,
                                                              "subdenomination": null,
                                                              "token": "number",
                                                              "type": "int_const 3",
                                                              "value": "3"
                                                            },
                                                            "id": 7883,
                                                            "name": "Literal",
                                                            "src": "6608:1:23"
                                                          }
                                                        ],
                                                        "id": 7884,
                                                        "name": "FunctionCall",
                                                        "src": "6601:9:23"
                                                      },
                                                      {
                                                        "attributes": {
                                                          "argumentTypes": null,
                                                          "overloadedDeclarations": [
                                                            null
                                                          ],
                                                          "referencedDeclaration": 7808,
                                                          "type": "address",
                                                          "value": "_avatar"
                                                        },
                                                        "id": 7885,
                                                        "name": "Identifier",
                                                        "src": "6611:7:23"
                                                      }
                                                    ],
                                                    "id": 7886,
                                                    "name": "FunctionCall",
                                                    "src": "6533:86:23"
                                                  }
                                                ],
                                                "id": 7887,
                                                "name": "UnaryOperation",
                                                "src": "6532:87:23"
                                              },
                                              {
                                                "children": [
                                                  {
                                                    "children": [
                                                      {
                                                        "attributes": {
                                                          "argumentTypes": null,
                                                          "arguments": [
                                                            null
                                                          ],
                                                          "isConstant": false,
                                                          "isLValue": false,
                                                          "isPure": false,
                                                          "isStructConstructorCall": false,
                                                          "lValueRequested": false,
                                                          "names": [
                                                            null
                                                          ],
                                                          "type": "tuple()",
                                                          "type_conversion": false
                                                        },
                                                        "children": [
                                                          {
                                                            "attributes": {
                                                              "argumentTypes": [
                                                                null
                                                              ],
                                                              "overloadedDeclarations": [
                                                                null
                                                              ],
                                                              "referencedDeclaration": 10871,
                                                              "type": "function () pure",
                                                              "value": "revert"
                                                            },
                                                            "id": 7888,
                                                            "name": "Identifier",
                                                            "src": "6647:6:23"
                                                          }
                                                        ],
                                                        "id": 7889,
                                                        "name": "FunctionCall",
                                                        "src": "6647:8:23"
                                                      }
                                                    ],
                                                    "id": 7890,
                                                    "name": "ExpressionStatement",
                                                    "src": "6647:8:23"
                                                  }
                                                ],
                                                "id": 7891,
                                                "name": "Block",
                                                "src": "6621:57:23"
                                              }
                                            ],
                                            "id": 7892,
                                            "name": "IfStatement",
                                            "src": "6528:150:23"
                                          }
                                        ],
                                        "id": 7893,
                                        "name": "Block",
                                        "src": "6506:190:23"
                                      }
                                    ],
                                    "id": 7894,
                                    "name": "IfStatement",
                                    "src": "6265:431:23"
                                  }
                                ],
                                "id": 7895,
                                "name": "Block",
                                "src": "6247:467:23"
                              }
                            ],
                            "id": 7896,
                            "name": "IfStatement",
                            "src": "6215:499:23"
                          },
                          {
                            "attributes": {
                              "falseBody": null
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "commonType": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  },
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "operator": "==",
                                  "type": "bool"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "member_name": "proposalType",
                                      "referencedDeclaration": 7567,
                                      "type": "uint256"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 7843,
                                          "type": "struct SchemeRegistrar.SchemeProposal memory",
                                          "value": "proposal"
                                        },
                                        "id": 7897,
                                        "name": "Identifier",
                                        "src": "6760:8:23"
                                      }
                                    ],
                                    "id": 7898,
                                    "name": "MemberAccess",
                                    "src": "6760:21:23"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "hexvalue": "32",
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "subdenomination": null,
                                      "token": "number",
                                      "type": "int_const 2",
                                      "value": "2"
                                    },
                                    "id": 7899,
                                    "name": "Literal",
                                    "src": "6785:1:23"
                                  }
                                ],
                                "id": 7900,
                                "name": "BinaryOperation",
                                "src": "6760:26:23"
                              },
                              {
                                "children": [
                                  {
                                    "attributes": {
                                      "falseBody": null
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "operator": "!",
                                          "prefix": true,
                                          "type": "bool"
                                        },
                                        "children": [
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "isConstant": false,
                                              "isLValue": false,
                                              "isPure": false,
                                              "isStructConstructorCall": false,
                                              "lValueRequested": false,
                                              "names": [
                                                null
                                              ],
                                              "type": "bool",
                                              "type_conversion": false
                                            },
                                            "children": [
                                              {
                                                "attributes": {
                                                  "argumentTypes": [
                                                    {
                                                      "typeIdentifier": "t_address",
                                                      "typeString": "address"
                                                    },
                                                    {
                                                      "typeIdentifier": "t_address",
                                                      "typeString": "address"
                                                    }
                                                  ],
                                                  "isConstant": false,
                                                  "isLValue": false,
                                                  "isPure": false,
                                                  "lValueRequested": false,
                                                  "member_name": "unregisterScheme",
                                                  "referencedDeclaration": 4209,
                                                  "type": "function (address,address) external returns (bool)"
                                                },
                                                "children": [
                                                  {
                                                    "attributes": {
                                                      "argumentTypes": null,
                                                      "overloadedDeclarations": [
                                                        null
                                                      ],
                                                      "referencedDeclaration": 7833,
                                                      "type": "contract ControllerInterface",
                                                      "value": "controller"
                                                    },
                                                    "id": 7901,
                                                    "name": "Identifier",
                                                    "src": "6812:10:23"
                                                  }
                                                ],
                                                "id": 7902,
                                                "name": "MemberAccess",
                                                "src": "6812:27:23"
                                              },
                                              {
                                                "attributes": {
                                                  "argumentTypes": null,
                                                  "isConstant": false,
                                                  "isLValue": true,
                                                  "isPure": false,
                                                  "lValueRequested": false,
                                                  "member_name": "scheme",
                                                  "referencedDeclaration": 7563,
                                                  "type": "address"
                                                },
                                                "children": [
                                                  {
                                                    "attributes": {
                                                      "argumentTypes": null,
                                                      "overloadedDeclarations": [
                                                        null
                                                      ],
                                                      "referencedDeclaration": 7843,
                                                      "type": "struct SchemeRegistrar.SchemeProposal memory",
                                                      "value": "proposal"
                                                    },
                                                    "id": 7903,
                                                    "name": "Identifier",
                                                    "src": "6840:8:23"
                                                  }
                                                ],
                                                "id": 7904,
                                                "name": "MemberAccess",
                                                "src": "6840:15:23"
                                              },
                                              {
                                                "attributes": {
                                                  "argumentTypes": null,
                                                  "overloadedDeclarations": [
                                                    null
                                                  ],
                                                  "referencedDeclaration": 7808,
                                                  "type": "address",
                                                  "value": "_avatar"
                                                },
                                                "id": 7905,
                                                "name": "Identifier",
                                                "src": "6856:7:23"
                                              }
                                            ],
                                            "id": 7906,
                                            "name": "FunctionCall",
                                            "src": "6812:52:23"
                                          }
                                        ],
                                        "id": 7907,
                                        "name": "UnaryOperation",
                                        "src": "6811:53:23"
                                      },
                                      {
                                        "children": [
                                          {
                                            "children": [
                                              {
                                                "attributes": {
                                                  "argumentTypes": null,
                                                  "arguments": [
                                                    null
                                                  ],
                                                  "isConstant": false,
                                                  "isLValue": false,
                                                  "isPure": false,
                                                  "isStructConstructorCall": false,
                                                  "lValueRequested": false,
                                                  "names": [
                                                    null
                                                  ],
                                                  "type": "tuple()",
                                                  "type_conversion": false
                                                },
                                                "children": [
                                                  {
                                                    "attributes": {
                                                      "argumentTypes": [
                                                        null
                                                      ],
                                                      "overloadedDeclarations": [
                                                        null
                                                      ],
                                                      "referencedDeclaration": 10871,
                                                      "type": "function () pure",
                                                      "value": "revert"
                                                    },
                                                    "id": 7908,
                                                    "name": "Identifier",
                                                    "src": "6888:6:23"
                                                  }
                                                ],
                                                "id": 7909,
                                                "name": "FunctionCall",
                                                "src": "6888:8:23"
                                              }
                                            ],
                                            "id": 7910,
                                            "name": "ExpressionStatement",
                                            "src": "6888:8:23"
                                          }
                                        ],
                                        "id": 7911,
                                        "name": "Block",
                                        "src": "6866:51:23"
                                      }
                                    ],
                                    "id": 7912,
                                    "name": "IfStatement",
                                    "src": "6807:110:23"
                                  }
                                ],
                                "id": 7913,
                                "name": "Block",
                                "src": "6789:146:23"
                              }
                            ],
                            "id": 7914,
                            "name": "IfStatement",
                            "src": "6755:180:23"
                          }
                        ],
                        "id": 7915,
                        "name": "Block",
                        "src": "5943:1004:23"
                      }
                    ],
                    "id": 7916,
                    "name": "IfStatement",
                    "src": "5926:1021:23"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "delete",
                          "prefix": true,
                          "type": "tuple()"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "type": "struct SchemeRegistrar.SchemeProposal storage ref"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "type": "mapping(bytes32 => struct SchemeRegistrar.SchemeProposal storage ref)"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 7576,
                                      "type": "mapping(address => mapping(bytes32 => struct SchemeRegistrar.SchemeProposal storage ref))",
                                      "value": "organizationsProposals"
                                    },
                                    "id": 7917,
                                    "name": "Identifier",
                                    "src": "6963:22:23"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 7808,
                                      "type": "address",
                                      "value": "_avatar"
                                    },
                                    "id": 7918,
                                    "name": "Identifier",
                                    "src": "6986:7:23"
                                  }
                                ],
                                "id": 7919,
                                "name": "IndexAccess",
                                "src": "6963:31:23"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 7806,
                                  "type": "bytes32",
                                  "value": "_proposalId"
                                },
                                "id": 7920,
                                "name": "Identifier",
                                "src": "6995:11:23"
                              }
                            ],
                            "id": 7921,
                            "name": "IndexAccess",
                            "src": "6963:44:23"
                          }
                        ],
                        "id": 7922,
                        "name": "UnaryOperation",
                        "src": "6956:51:23"
                      }
                    ],
                    "id": 7923,
                    "name": "ExpressionStatement",
                    "src": "6956:51:23"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "tuple()",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                },
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              ],
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 7555,
                              "type": "function (address,bytes32)",
                              "value": "LogProposalExecuted"
                            },
                            "id": 7924,
                            "name": "Identifier",
                            "src": "7017:19:23"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 7808,
                              "type": "address",
                              "value": "_avatar"
                            },
                            "id": 7925,
                            "name": "Identifier",
                            "src": "7037:7:23"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 7806,
                              "type": "bytes32",
                              "value": "_proposalId"
                            },
                            "id": 7926,
                            "name": "Identifier",
                            "src": "7046:11:23"
                          }
                        ],
                        "id": 7927,
                        "name": "FunctionCall",
                        "src": "7017:41:23"
                      }
                    ],
                    "id": 7928,
                    "name": "ExpressionStatement",
                    "src": "7017:41:23"
                  },
                  {
                    "attributes": {
                      "functionReturnParameters": 7814
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "hexvalue": "74727565",
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "subdenomination": null,
                          "token": "bool",
                          "type": "bool",
                          "value": "true"
                        },
                        "id": 7929,
                        "name": "Literal",
                        "src": "7075:4:23"
                      }
                    ],
                    "id": 7930,
                    "name": "Return",
                    "src": "7068:11:23"
                  }
                ],
                "id": 7931,
                "name": "Block",
                "src": "5760:1326:23"
              }
            ],
            "id": 7932,
            "name": "FunctionDefinition",
            "src": "5670:1416:23"
          }
        ],
        "id": 7933,
        "name": "ContractDefinition",
        "src": "265:6823:23"
      }
    ],
    "id": 7934,
    "name": "SourceUnit",
    "src": "0:7089:23"
  },
  "compiler": {
    "name": "solc",
    "version": "0.4.18+commit.9cf6e910.Emscripten.clang"
  },
  "networks": {
    "1516886047983": {
      "events": {},
      "links": {},
      "address": "0x5000e3da7d05a6daa3bf4aecf32fd2e0bac239c3"
    }
  },
  "schemaVersion": "1.0.1",
  "updatedAt": "2018-01-25T13:15:04.366Z"
}