{
  "contractName": "GlobalConstraintRegistrar",
  "abi": [
    {
      "constant": true,
      "inputs": [
        {
          "name": "",
          "type": "bytes32"
        }
      ],
      "name": "parameters",
      "outputs": [
        {
          "name": "voteRegisterParams",
          "type": "bytes32"
        },
        {
          "name": "intVote",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_avatar",
          "type": "address"
        },
        {
          "name": "_gc",
          "type": "address"
        },
        {
          "name": "_params",
          "type": "bytes32"
        },
        {
          "name": "_voteToRemoveParams",
          "type": "bytes32"
        }
      ],
      "name": "proposeGlobalConstraint",
      "outputs": [
        {
          "name": "",
          "type": "bytes32"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "name": "organizationsData",
      "outputs": [
        {
          "name": "voteRegisterParams",
          "type": "bytes32"
        },
        {
          "name": "intVote",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "_voteRegisterParams",
          "type": "bytes32"
        },
        {
          "name": "_intVote",
          "type": "address"
        }
      ],
      "name": "getParametersHash",
      "outputs": [
        {
          "name": "",
          "type": "bytes32"
        }
      ],
      "payable": false,
      "stateMutability": "pure",
      "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": "_voteRegisterParams",
          "type": "bytes32"
        },
        {
          "name": "_intVote",
          "type": "address"
        }
      ],
      "name": "setParameters",
      "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": false,
      "inputs": [
        {
          "name": "_avatar",
          "type": "address"
        },
        {
          "name": "_gc",
          "type": "address"
        }
      ],
      "name": "proposeToRemoveGC",
      "outputs": [
        {
          "name": "",
          "type": "bytes32"
        }
      ],
      "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": "_gc",
          "type": "address"
        },
        {
          "indexed": false,
          "name": "_params",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "name": "_voteToRemoveParams",
          "type": "bytes32"
        }
      ],
      "name": "NewGlobalConstraintsProposal",
      "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": "_gc",
          "type": "address"
        }
      ],
      "name": "RemoveGlobalConstraintsProposal",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "_avatar",
          "type": "address"
        },
        {
          "indexed": true,
          "name": "_proposalId",
          "type": "bytes32"
        }
      ],
      "name": "ProposalExecuted",
      "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": "0x6060604052341561000f57600080fd5b60008054600160a060020a033316600160a060020a0319909116179055610e0a8061003b6000396000f3006060604052600436106100955763ffffffff60e060020a60003504166302506804811461009a5780630fd6e498146100d15780631db77c381461010e5780632453732a1461012d5780632ac2af531461014f578063310ce4e21461016757806368e14dac146101a05780638da5cb5b146101c2578063f2fde38b146101f1578063f731e47014610210578063f98e87ba14610235575b600080fd5b34156100a557600080fd5b6100b0600435610248565b604051918252600160a060020a031660208201526040908101905180910390f35b34156100dc57600080fd5b6100fc600160a060020a036004358116906024351660443560643561026a565b60405190815260200160405180910390f35b341561011957600080fd5b6100b0600160a060020a03600435166104dd565b341561013857600080fd5b6100fc600435600160a060020a03602435166104ff565b341561015a57600080fd5b610165600435610539565b005b341561017257600080fd5b61018c600435600160a060020a0360243516604435610559565b604051901515815260200160405180910390f35b34156101ab57600080fd5b6100fc600435600160a060020a0360243516610863565b34156101cd57600080fd5b6101d56108b8565b604051600160a060020a03909116815260200160405180910390f35b34156101fc57600080fd5b610165600160a060020a03600435166108c7565b341561021b57600080fd5b6100fc600160a060020a0360043581169060243516610962565b341561024057600080fd5b6100fc610cb9565b60036020526000908152604090208054600190910154600160a060020a031682565b6000610274610da0565b60008061027f610db7565b6003600061028c8b610cbf565b81526020810191909152604090810160002090805190810160405281548152600190910154600160a060020a031660208201908152909450519250600160a060020a0383166388737b5e600286518c3060006040516020015260405160e060020a63ffffffff871602815260048101949094526024840192909252600160a060020a039081166044840152166064820152608401602060405180830381600087803b151561033957600080fd5b6102c65a03f1151561034a57600080fd5b50505060405180519050915060806040519081016040908152600160a060020a03808b16835260208084018b9052600183850152606084018a9052908c1660009081526002808352838220878352019091522090915081908151815473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03919091161781556020820151600182015560408201518160020155606082015160039091015550600160a060020a038084169083908b167f4e87f569c5a3f504eea38add71bbdd022e5d63d0ee92d4130c407b8d64941bc08b8b8b604051600160a060020a03909316835260208301919091526040808301919091526060909101905180910390a482600160a060020a031663339e23d18360013360006040516020015260405160e060020a63ffffffff861602815260048101939093526024830191909152600160a060020a03166044820152606401602060405180830381600087803b15156104b557600080fd5b6102c65a03f115156104c657600080fd5b505050604051805150919998505050505050505050565b60026020526000908152604090208054600190910154600160a060020a031682565b60008282604051918252600160a060020a03166c010000000000000000000000000260208201526034016040518091039020905092915050565b60005433600160a060020a0390811691161461055457600080fd5b600155565b6000806000610566610db7565b33600160a060020a03166003600061057d89610cbf565b8152602081019190915260400160002060010154600160a060020a0316146105a457600080fd5b6001925084600114156107d35785600160a060020a0316638da5cb5b6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156105f757600080fd5b6102c65a03f1151561060857600080fd5b5050506040518051600160a060020a03881660009081526002602081815260408084208d85529092019052908190209194509091506080905190810160409081528254600160a060020a0316825260018301546020830152600283015490820190815260039092015460608201529150516001141561074957600160a060020a03821663e4537a74825183602001518960006040516020015260405160e060020a63ffffffff8616028152600160a060020a03938416600482015260248101929092529091166044820152606401602060405180830381600087803b15156106ef57600080fd5b6102c65a03f1151561070057600080fd5b50505060405180519350506060810151600160a060020a0387166000908152600260205260408120600301908351600160a060020a031681526020810191909152604001600020555b8060400151600214156107d357600160a060020a038216634f52b5be82518860006040516020015260405160e060020a63ffffffff8516028152600160a060020a03928316600482015291166024820152604401602060405180830381600087803b15156107b657600080fd5b6102c65a03f115156107c757600080fd5b50505060405180519350505b600160a060020a03861660008181526002602081815260408084208c85528301909152808320805473ffffffffffffffffffffffffffffffffffffffff19168155600181018490559182018390556003909101919091558891907f253ad9614c337848bbe7dc3b18b439d139ef5787282b5a517ba7296513d1f533905160405180910390a3509095945050505050565b60008061087084846104ff565b60008181526003602052604090208581556001018054600160a060020a03861673ffffffffffffffffffffffffffffffffffffffff1990911617905591508190505092915050565b600054600160a060020a031681565b60005433600160a060020a039081169116146108e257600080fd5b600160a060020a03811615156108f757600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600080600061096f610da0565b60008061097a610db7565b600160a060020a0389166000818152600260205260408082209850638da5cb5b919051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156109cf57600080fd5b6102c65a03f115156109e057600080fd5b5050506040518051955050600160a060020a03851663f76488be898b60006040516020015260405160e060020a63ffffffff8516028152600160a060020a03928316600482015291166024820152604401602060405180830381600087803b1515610a4a57600080fd5b6102c65a03f11515610a5b57600080fd5b505050604051805190501515610a7057600080fd5b60036000610a7d8b610cbf565b81526020810191909152604090810160002090805190810160405281548152600190910154600160a060020a03166020820190815290945051925082600160a060020a03166388737b5e60028860030160008c600160a060020a0316600160a060020a03168152602001908152602001600020548c3060006040516020015260405160e060020a63ffffffff871602815260048101949094526024840192909252600160a060020a039081166044840152166064820152608401602060405180830381600087803b1515610b5057600080fd5b6102c65a03f11515610b6157600080fd5b50505060405180519050915060806040519081016040908152600160a060020a03808b16835260006020808501829052600284860181905260608601839052928e1682528281528382208783529092019091522090915081908151815473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03919091161781556020820151600182015560408201518160020155606082015160039091015550600160a060020a038084169083908b167f661684a19fb0680f3f8beceaa9ee56c665ffec0875442e2cddc9a7a887d35c3e8b604051600160a060020a03909116815260200160405180910390a482600160a060020a031663339e23d18360013360006040516020015260405160e060020a63ffffffff861602815260048101939093526024830191909152600160a060020a03166044820152606401602060405180830381600087803b15156104b557600080fd5b60015481565b600081600160a060020a0316638da5cb5b6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610d0757600080fd5b6102c65a03f11515610d1857600080fd5b50505060405180519050600160a060020a0316631c4d5608308460006040516020015260405160e060020a63ffffffff8516028152600160a060020a03928316600482015291166024820152604401602060405180830381600087803b1515610d8057600080fd5b6102c65a03f11515610d9157600080fd5b50505060405180519392505050565b604080519081016040526000808252602082015290565b608060405190810160409081526000808352602083018190529082018190526060820152905600a165627a7a723058203cc5efc275994279cde7b0988f0ea875376d31da0774a1110de43b7ee7de017d0029",
  "deployedBytecode": "0x6060604052600436106100955763ffffffff60e060020a60003504166302506804811461009a5780630fd6e498146100d15780631db77c381461010e5780632453732a1461012d5780632ac2af531461014f578063310ce4e21461016757806368e14dac146101a05780638da5cb5b146101c2578063f2fde38b146101f1578063f731e47014610210578063f98e87ba14610235575b600080fd5b34156100a557600080fd5b6100b0600435610248565b604051918252600160a060020a031660208201526040908101905180910390f35b34156100dc57600080fd5b6100fc600160a060020a036004358116906024351660443560643561026a565b60405190815260200160405180910390f35b341561011957600080fd5b6100b0600160a060020a03600435166104dd565b341561013857600080fd5b6100fc600435600160a060020a03602435166104ff565b341561015a57600080fd5b610165600435610539565b005b341561017257600080fd5b61018c600435600160a060020a0360243516604435610559565b604051901515815260200160405180910390f35b34156101ab57600080fd5b6100fc600435600160a060020a0360243516610863565b34156101cd57600080fd5b6101d56108b8565b604051600160a060020a03909116815260200160405180910390f35b34156101fc57600080fd5b610165600160a060020a03600435166108c7565b341561021b57600080fd5b6100fc600160a060020a0360043581169060243516610962565b341561024057600080fd5b6100fc610cb9565b60036020526000908152604090208054600190910154600160a060020a031682565b6000610274610da0565b60008061027f610db7565b6003600061028c8b610cbf565b81526020810191909152604090810160002090805190810160405281548152600190910154600160a060020a031660208201908152909450519250600160a060020a0383166388737b5e600286518c3060006040516020015260405160e060020a63ffffffff871602815260048101949094526024840192909252600160a060020a039081166044840152166064820152608401602060405180830381600087803b151561033957600080fd5b6102c65a03f1151561034a57600080fd5b50505060405180519050915060806040519081016040908152600160a060020a03808b16835260208084018b9052600183850152606084018a9052908c1660009081526002808352838220878352019091522090915081908151815473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03919091161781556020820151600182015560408201518160020155606082015160039091015550600160a060020a038084169083908b167f4e87f569c5a3f504eea38add71bbdd022e5d63d0ee92d4130c407b8d64941bc08b8b8b604051600160a060020a03909316835260208301919091526040808301919091526060909101905180910390a482600160a060020a031663339e23d18360013360006040516020015260405160e060020a63ffffffff861602815260048101939093526024830191909152600160a060020a03166044820152606401602060405180830381600087803b15156104b557600080fd5b6102c65a03f115156104c657600080fd5b505050604051805150919998505050505050505050565b60026020526000908152604090208054600190910154600160a060020a031682565b60008282604051918252600160a060020a03166c010000000000000000000000000260208201526034016040518091039020905092915050565b60005433600160a060020a0390811691161461055457600080fd5b600155565b6000806000610566610db7565b33600160a060020a03166003600061057d89610cbf565b8152602081019190915260400160002060010154600160a060020a0316146105a457600080fd5b6001925084600114156107d35785600160a060020a0316638da5cb5b6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156105f757600080fd5b6102c65a03f1151561060857600080fd5b5050506040518051600160a060020a03881660009081526002602081815260408084208d85529092019052908190209194509091506080905190810160409081528254600160a060020a0316825260018301546020830152600283015490820190815260039092015460608201529150516001141561074957600160a060020a03821663e4537a74825183602001518960006040516020015260405160e060020a63ffffffff8616028152600160a060020a03938416600482015260248101929092529091166044820152606401602060405180830381600087803b15156106ef57600080fd5b6102c65a03f1151561070057600080fd5b50505060405180519350506060810151600160a060020a0387166000908152600260205260408120600301908351600160a060020a031681526020810191909152604001600020555b8060400151600214156107d357600160a060020a038216634f52b5be82518860006040516020015260405160e060020a63ffffffff8516028152600160a060020a03928316600482015291166024820152604401602060405180830381600087803b15156107b657600080fd5b6102c65a03f115156107c757600080fd5b50505060405180519350505b600160a060020a03861660008181526002602081815260408084208c85528301909152808320805473ffffffffffffffffffffffffffffffffffffffff19168155600181018490559182018390556003909101919091558891907f253ad9614c337848bbe7dc3b18b439d139ef5787282b5a517ba7296513d1f533905160405180910390a3509095945050505050565b60008061087084846104ff565b60008181526003602052604090208581556001018054600160a060020a03861673ffffffffffffffffffffffffffffffffffffffff1990911617905591508190505092915050565b600054600160a060020a031681565b60005433600160a060020a039081169116146108e257600080fd5b600160a060020a03811615156108f757600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600080600061096f610da0565b60008061097a610db7565b600160a060020a0389166000818152600260205260408082209850638da5cb5b919051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156109cf57600080fd5b6102c65a03f115156109e057600080fd5b5050506040518051955050600160a060020a03851663f76488be898b60006040516020015260405160e060020a63ffffffff8516028152600160a060020a03928316600482015291166024820152604401602060405180830381600087803b1515610a4a57600080fd5b6102c65a03f11515610a5b57600080fd5b505050604051805190501515610a7057600080fd5b60036000610a7d8b610cbf565b81526020810191909152604090810160002090805190810160405281548152600190910154600160a060020a03166020820190815290945051925082600160a060020a03166388737b5e60028860030160008c600160a060020a0316600160a060020a03168152602001908152602001600020548c3060006040516020015260405160e060020a63ffffffff871602815260048101949094526024840192909252600160a060020a039081166044840152166064820152608401602060405180830381600087803b1515610b5057600080fd5b6102c65a03f11515610b6157600080fd5b50505060405180519050915060806040519081016040908152600160a060020a03808b16835260006020808501829052600284860181905260608601839052928e1682528281528382208783529092019091522090915081908151815473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03919091161781556020820151600182015560408201518160020155606082015160039091015550600160a060020a038084169083908b167f661684a19fb0680f3f8beceaa9ee56c665ffec0875442e2cddc9a7a887d35c3e8b604051600160a060020a03909116815260200160405180910390a482600160a060020a031663339e23d18360013360006040516020015260405160e060020a63ffffffff861602815260048101939093526024830191909152600160a060020a03166044820152606401602060405180830381600087803b15156104b557600080fd5b60015481565b600081600160a060020a0316638da5cb5b6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610d0757600080fd5b6102c65a03f11515610d1857600080fd5b50505060405180519050600160a060020a0316631c4d5608308460006040516020015260405160e060020a63ffffffff8516028152600160a060020a03928316600482015291166024820152604401602060405180830381600087803b1515610d8057600080fd5b6102c65a03f11515610d9157600080fd5b50505060405180519392505050565b604080519081016040526000808252602082015290565b608060405190810160409081526000808352602083018190529082018190526060820152905600a165627a7a723058203cc5efc275994279cde7b0988f0ea875376d31da0774a1110de43b7ee7de017d0029",
  "sourceMap": "254:7517:21:-;;;2235:46;;;;;;;;501:5:33;:18;;-1:-1:-1;;;;;509:10:33;501:18;-1:-1:-1;;;;;;501:18:33;;;;;;254:7517:21;;;;;;",
  "deployedSourceMap": "254:7517:21:-;;;;;;;;;-1:-1:-1;;;254:7517:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2142:46;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2142:46:21;;;;;;;;;;;;;;;;3923:1004;;;;;;;;;;-1:-1:-1;;;;;3923:1004:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1876:55;;;;;;;;;;-1:-1:-1;;;;;1876:55:21;;;;;3153:204;;;;;;;;;;;;-1:-1:-1;;;;;3153:204:21;;;;;455:157:25;;;;;;;;;;;;;;;;6585:1184:21;;;;;;;;;;;;-1:-1:-1;;;;;6585:1184:21;;;;;;;;;;;;;;;;;;;;;;;;2562:366;;;;;;;;;;;;-1:-1:-1;;;;;2562:366:21;;;;;238:20:33;;;;;;;;;;;;;;;-1:-1:-1;;;;;238:20:33;;;;;;;;;;;;;;834:169;;;;;;;;;;-1:-1:-1;;;;;834:169:33;;;;;5202:1002:21;;;;;;;;;;-1:-1:-1;;;;;5202:1002:21;;;;;;;;;;345:31:25;;;;;;;;;;;;2142:46:21;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2142:46:21;;:::o;3923:1004::-;4054:7;4077:30;;:::i;:::-;4169:24;4226:18;4345:26;;:::i;:::-;4110:10;:48;4121:36;4149:7;4121:27;:36::i;:::-;4110:48;;;;;;;;;;;;;;;;;4077:81;;;;;;;;;;;;;;;-1:-1:-1;;;;;4077:81:21;;;;;;;;;-1:-1:-1;4196:20:21;4169:47;-1:-1:-1;;;;;;4247:15:21;;;4263:1;4266:12;:31;4299:7;4328:4;4247:87;;;;;;;;-1:-1:-1;;;4247:87:21;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4247:87:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4226:108;;4374:154;;;;;;;;;;-1:-1:-1;;;;;4374:154:21;;;;;;;;;;;;4463:1;4374:154;;;;;;;;;;4539:26;;;4374:154;4539:26;;;:17;:26;;;;;;:48;;;:36;:48;;;;4374:154;;-1:-1:-1;4374:154:21;;;4539:59;;;-1:-1:-1;;4539:59:21;-1:-1:-1;;;;;4539:59:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;4608:175:21;;;;4671:10;;4608:175;;;4716:3;4733:7;4754:19;4608:175;;-1:-1:-1;;;;;4608:175:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4793:7;-1:-1:-1;;;;;4793:17:21;;4811:10;4823:1;4826:10;4793:44;;;;;;;;-1:-1:-1;;;4793:44:21;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4793:44:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4910:10:21;;3923:1004;-1:-1:-1;;;;;;;;;3923:1004:21:o;1876:55::-;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1876:55:21;;:::o;3153:204::-;3278:7;3319:19;3340:8;3309:40;;;;;-1:-1:-1;;;;;3309:40:21;;;;;;;;;;;;;;;;3301:49;;3153:204;;;;:::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;6585:1184:21:-;6669:4;6841:11;6992:30;7083:26;;:::i;:::-;6820:10;-1:-1:-1;;;;;6752:78:21;:10;:56;6763:44;6798:7;6763:27;:44::i;:::-;6752:56;;;;;;;;;;;;;:64;;;-1:-1:-1;;;;;6752:64:21;:78;6744:87;;;;;;6855:4;6841:18;;6914:6;6924:1;6914:11;6910:716;;;7052:7;-1:-1:-1;;;;;7045:21:21;;:23;;;;;;;;;;;-1:-1:-1;;;7045:23:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7112:26:21;;;;;;:17;:26;;;;;;;;:49;;;:36;;;:49;;;;;;7045:23;;-1:-1:-1;7112:49:21;;-1:-1:-1;7083:78:21;;;;;;;;;;;;-1:-1:-1;;;;;7083:78:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7202:21:21;7227:1;7202:26;7198:250;;;-1:-1:-1;;;;;7257:30:21;;;7288:8;:11;7301:8;:15;;;7317:7;7257:68;;;;;;;;-1:-1:-1;;;7257:68:21;;;;;;-1:-1:-1;;;;;7257:68:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;7404:27:21;;;;-1:-1:-1;;;;;7343:26:21;;;;;;:17;:26;;;;;:45;;;7389:8;:11;-1:-1:-1;;;;;7343:58:21;;;;;;;;;;;;-1:-1:-1;7343:58:21;:88;7198:250;7490:8;:21;;;7515:1;7490:26;7486:130;;;-1:-1:-1;;;;;7545:33:21;;;7579:8;:11;7591:7;7545:54;;;;;;;;-1:-1:-1;;;7545:54:21;;;;;;-1:-1:-1;;;;;7545:54:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;7486:130:21;-1:-1:-1;;;;;7642:26:21;;;;;;:17;:26;;;;;;;;:49;;;:36;;:49;;;;;;7635:56;;-1:-1:-1;;7635:56:21;;;;;;;;;;;;;;;;;;;;;;;7679:11;;7642:26;7701:38;;;;;;;;;;-1:-1:-1;7756:6:21;;6585:1184;-1:-1:-1;;;;;6585:1184:21:o;2562:366::-;2678:7;2701:18;2722:48;2740:19;2761:8;2722:17;:48::i;:::-;2780:22;;;;:10;:22;;;;;:63;;;2853:30;;:41;;-1:-1:-1;;;;;2853:41:21;;-1:-1:-1;;2853:41:21;;;;;;2701:69;-1:-1:-1;2701:69:21;;-1:-1:-1;2562:366:21;;;;;:::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;5202:1002:21:-;5273:7;5292:24;5355:21;5504:24;;:::i;:::-;5589;5640:18;5755:26;;:::i;:::-;-1:-1:-1;;;;;5319:26:21;;;;;;:17;:26;;;;;;;-1:-1:-1;5390:21:21;;5319:26;5390:23;;;;;;;;;-1:-1:-1;;;5390:23:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;5432:39:21;;;5472:3;5484:7;5432:61;;;;;;;;-1:-1:-1;;;5432:61:21;;;;;;-1:-1:-1;;;;;5432:61:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5424:70;;;;;;;;5531:10;:48;5542:36;5570:7;5542:27;:36::i;:::-;5531:48;;;;;;;;;;;;;;;;;5504:75;;;;;;;;;;;;;;;-1:-1:-1;;;;;5504:75:21;;;;;;;;;-1:-1:-1;5616:14:21;5589:41;;5661:7;-1:-1:-1;;;;;5661:15:21;;5677:1;5680:3;:22;;:27;5703:3;-1:-1:-1;;;;;5680:27:21;-1:-1:-1;;;;;5680:27:21;;;;;;;;;;;;;5709:7;5738:4;5661:83;;;;;;;;-1:-1:-1;;;5661:83:21;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5661:83:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5640:104;;5784:130;;;;;;;;;;-1:-1:-1;;;;;5784:130:21;;;;;5838:1;5784:130;;;;;;;5867:1;5784:130;;;;;;;;;;;;5925:26;;;;;;;;;;;:48;;;:36;;;:48;;;;5784:130;;-1:-1:-1;5784:130:21;;;5925:59;;;-1:-1:-1;;5925:59:21;-1:-1:-1;;;;;5925:59:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;5994:66:21;;;;6035:10;;5994:66;;;6056:3;5994:66;;-1:-1:-1;;;;;5994:66:21;;;;;;;;;;;;;;6070:7;-1:-1:-1;;;;;6070:17:21;;6088:10;6100:1;6103:10;6070:44;;;;;;;;-1:-1:-1;;;6070:44:21;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6070:44:21;;;;;;;;;;;;;;;;;;;;;;;;;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;254:7517:21:-;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o",
  "source": "pragma solidity ^0.4.18;\n\nimport \"../VotingMachines/IntVoteInterface.sol\";\nimport \"./UniversalScheme.sol\";\n\n\n/**\n * @title A scheme to manage global constraint for organizations\n * @dev The scheme is used to register or remove new global constraints\n */\ncontract GlobalConstraintRegistrar is UniversalScheme {\n    event NewGlobalConstraintsProposal(\n        address indexed _avatar,\n        bytes32 indexed _proposalId,\n        address indexed _intVoteInterface,\n        address _gc,\n        bytes32 _params,\n        bytes32 _voteToRemoveParams\n    );\n    event RemoveGlobalConstraintsProposal(\n        address indexed _avatar,\n        bytes32 indexed _proposalId,\n        address indexed _intVoteInterface,\n        address _gc\n    );\n    event ProposalExecuted(address indexed _avatar, bytes32 indexed _proposalId);\n    event LogProposalDeleted(address indexed _avatar, bytes32 indexed _proposalId);\n\n    // The struct that holds the information of a global constraint proposed to be added or removed.\n    struct GCProposal {\n        address gc; // The address of the global constraint contract.\n        bytes32 params; // Parameters for global constraint.\n        uint proposalType; // 1: add a GC, 2: remove a GC.\n        bytes32 voteToRemoveParams; // Voting parameters for removing this GC.\n    }\n\n    // Struct holding the data for each organization\n    struct Organization {\n        bytes32 voteRegisterParams; // The voting parameters for adding a GC.\n        IntVoteInterface intVote; // The voting machine in which the voting takes place.\n        mapping(bytes32=>GCProposal) proposals; // A mapping from the proposal ID to the proposal itself.\n        mapping(address=>bytes32) voteToRemoveParams; // A mapping that saves the parameters for removing each GC.\n    }\n\n    // A mapping from thr organization (Avatar) address to the saved data of the organization:\n    mapping(address=>Organization) public organizationsData;\n\n    // A mapping from hashes to parameters (use to store a particular configuration on the controller)\n    struct Parameters {\n        bytes32 voteRegisterParams;\n        IntVoteInterface intVote;\n    }\n\n    mapping(bytes32=>Parameters) public parameters;\n\n    /**\n     * @dev Constructor\n     */\n    function GlobalConstraintRegistrar() public {}\n\n    /**\n    * @dev Hash the parameters, save them if necessary, and return the hash value\n    * @param _voteRegisterParams -  voting parameters for register global constraint\n    * @param _intVote  - voting machine contract.\n    * @return bytes32 -the parameters hash\n    */\n    function setParameters(\n        bytes32 _voteRegisterParams,\n        IntVoteInterface _intVote\n    ) public returns(bytes32)\n    {\n        bytes32 paramsHash = getParametersHash(_voteRegisterParams, _intVote);\n        parameters[paramsHash].voteRegisterParams = _voteRegisterParams;\n        parameters[paramsHash].intVote = _intVote;\n        return paramsHash;\n    }\n\n    /**\n    * @dev Hash the parameters and return the hash value\n    * @param _voteRegisterParams -  voting parameters\n    * @param _intVote  - voting machine contract.\n    * @return bytes32 -the parameters hash\n    */\n    function getParametersHash(\n        bytes32 _voteRegisterParams,\n        IntVoteInterface _intVote\n    ) public pure returns(bytes32)\n    {\n        return (keccak256(_voteRegisterParams, _intVote));\n    }\n\n    /**\n    * @dev propose to add a new global constraint:\n    * @param _avatar the avatar of the organization that the constraint is proposed for\n    * @param _gc the address of the global constraint that is being proposed\n    * @param _params the parameters for the global constraint\n    * @param _voteToRemoveParams the conditions (on the voting machine) for removing this global constraint\n    * @return bytes32 -the proposal id\n    */\n    // TODO: do some checks on _voteToRemoveParams - it is very easy to make a mistake and not be able to remove the GC\n    function proposeGlobalConstraint(Avatar _avatar, address _gc, bytes32 _params, bytes32 _voteToRemoveParams)\n    public\n    returns(bytes32)\n    {\n        Parameters memory votingParams = parameters[getParametersFromController(_avatar)];\n\n        IntVoteInterface intVote = votingParams.intVote;\n        bytes32 proposalId = intVote.propose(2, votingParams.voteRegisterParams, _avatar, ExecutableInterface(this));\n\n        GCProposal memory proposal = GCProposal({\n            gc: _gc,\n            params: _params,\n            proposalType: 1,\n            voteToRemoveParams: _voteToRemoveParams\n        });\n\n        organizationsData[_avatar].proposals[proposalId] = proposal;\n        NewGlobalConstraintsProposal(\n            _avatar,\n            proposalId,\n            intVote,\n            _gc,\n            _params,\n            _voteToRemoveParams\n        );\n        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 global constraint:\n    * @param _avatar the avatar of the organization that the constraint is proposed for\n    * @param _gc the address of the global constraint that is being proposed\n    * @return bytes32 -the proposal id\n    */\n    function proposeToRemoveGC(Avatar _avatar, address _gc) public returns(bytes32) {\n        Organization storage org = organizationsData[_avatar];\n        Controller controller = Controller(Avatar(_avatar).owner());\n        require(controller.isGlobalConstraintRegistered(_gc,address(_avatar)));\n        Parameters memory params = parameters[getParametersFromController(_avatar)];\n        IntVoteInterface intVote = params.intVote;\n        bytes32 proposalId = intVote.propose(2, org.voteToRemoveParams[_gc], _avatar, ExecutableInterface(this));\n\n        GCProposal memory proposal = GCProposal({\n            gc: _gc,\n            params: 0,\n            proposalType: 2,\n            voteToRemoveParams: 0\n        });\n\n        organizationsData[_avatar].proposals[proposalId] = proposal;\n        RemoveGlobalConstraintsProposal(_avatar, proposalId, intVote, _gc);\n        intVote.ownerVote(proposalId, 1, msg.sender); // Automatically votes `yes` in the name of the opener.\n        return proposalId;\n    }\n\n    /**\n    * @dev execution of proposals, can only be called by the voting machine in which the vote is held.\n    * @param _proposalId the ID of the voting in the voting machine\n    * @param _avatar address of the controller\n    * @param _param a parameter of the voting result, 0 is no and 1 is yes.\n    * @return bool which represents a successful of the function.\n    */\n    function execute(bytes32 _proposalId, address _avatar, int _param) external returns(bool) {\n        // Check the caller is indeed the voting machine:\n\n        require(parameters[getParametersFromController(Avatar(_avatar))].intVote == msg.sender);\n        bool retVal = true;\n        // Check if vote was successful:\n        if (_param == 1 ) {\n\n        // Define controller and get the params:\n            ControllerInterface controller = ControllerInterface(Avatar(_avatar).owner());\n            GCProposal memory proposal = organizationsData[_avatar].proposals[_proposalId];\n        // Adding a GC\n            if (proposal.proposalType == 1) {\n                retVal = controller.addGlobalConstraint(proposal.gc, proposal.params,_avatar);\n                organizationsData[_avatar].voteToRemoveParams[proposal.gc] = proposal.voteToRemoveParams;\n              }\n        // Removing a GC\n            if (proposal.proposalType == 2) {\n                retVal = controller.removeGlobalConstraint(proposal.gc,_avatar);\n              }\n        }\n        delete organizationsData[_avatar].proposals[_proposalId];\n        ProposalExecuted(_avatar, _proposalId);\n        return retVal;\n    }\n}\n",
  "sourcePath": "/home/travis/build/dev-matan-tsuberi/daostack/contracts/universalSchemes/GlobalConstraintRegistrar.sol",
  "ast": {
    "attributes": {
      "absolutePath": "/home/travis/build/dev-matan-tsuberi/daostack/contracts/universalSchemes/GlobalConstraintRegistrar.sol",
      "exportedSymbols": {
        "GlobalConstraintRegistrar": [
          7330
        ]
      }
    },
    "children": [
      {
        "attributes": {
          "literals": [
            "solidity",
            "^",
            "0.4",
            ".18"
          ]
        },
        "id": 6911,
        "name": "PragmaDirective",
        "src": "0:24:21"
      },
      {
        "attributes": {
          "SourceUnit": 2652,
          "absolutePath": "/home/travis/build/dev-matan-tsuberi/daostack/contracts/VotingMachines/IntVoteInterface.sol",
          "file": "../VotingMachines/IntVoteInterface.sol",
          "scope": 7331,
          "symbolAliases": [
            null
          ],
          "unitAlias": ""
        },
        "id": 6912,
        "name": "ImportDirective",
        "src": "26:48:21"
      },
      {
        "attributes": {
          "SourceUnit": 8466,
          "absolutePath": "/home/travis/build/dev-matan-tsuberi/daostack/contracts/universalSchemes/UniversalScheme.sol",
          "file": "./UniversalScheme.sol",
          "scope": 7331,
          "symbolAliases": [
            null
          ],
          "unitAlias": ""
        },
        "id": 6913,
        "name": "ImportDirective",
        "src": "75:31:21"
      },
      {
        "attributes": {
          "contractDependencies": [
            8465,
            8484,
            10301
          ],
          "contractKind": "contract",
          "documentation": "@title A scheme to manage global constraint for organizations\n@dev The scheme is used to register or remove new global constraints",
          "fullyImplemented": true,
          "linearizedBaseContracts": [
            7330,
            8465,
            8484,
            10301
          ],
          "name": "GlobalConstraintRegistrar",
          "scope": 7331
        },
        "children": [
          {
            "attributes": {
              "arguments": [
                null
              ]
            },
            "children": [
              {
                "attributes": {
                  "contractScope": null,
                  "name": "UniversalScheme",
                  "referencedDeclaration": 8465,
                  "type": "contract UniversalScheme"
                },
                "id": 6914,
                "name": "UserDefinedTypeName",
                "src": "292:15:21"
              }
            ],
            "id": 6915,
            "name": "InheritanceSpecifier",
            "src": "292:15:21"
          },
          {
            "attributes": {
              "anonymous": false,
              "name": "NewGlobalConstraintsProposal"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": true,
                      "name": "_avatar",
                      "scope": 6929,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 6916,
                        "name": "ElementaryTypeName",
                        "src": "358:7:21"
                      }
                    ],
                    "id": 6917,
                    "name": "VariableDeclaration",
                    "src": "358:23:21"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": true,
                      "name": "_proposalId",
                      "scope": 6929,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 6918,
                        "name": "ElementaryTypeName",
                        "src": "391:7:21"
                      }
                    ],
                    "id": 6919,
                    "name": "VariableDeclaration",
                    "src": "391:27:21"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": true,
                      "name": "_intVoteInterface",
                      "scope": 6929,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 6920,
                        "name": "ElementaryTypeName",
                        "src": "428:7:21"
                      }
                    ],
                    "id": 6921,
                    "name": "VariableDeclaration",
                    "src": "428:33:21"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": false,
                      "name": "_gc",
                      "scope": 6929,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 6922,
                        "name": "ElementaryTypeName",
                        "src": "471:7:21"
                      }
                    ],
                    "id": 6923,
                    "name": "VariableDeclaration",
                    "src": "471:11:21"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": false,
                      "name": "_params",
                      "scope": 6929,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 6924,
                        "name": "ElementaryTypeName",
                        "src": "492:7:21"
                      }
                    ],
                    "id": 6925,
                    "name": "VariableDeclaration",
                    "src": "492:15:21"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": false,
                      "name": "_voteToRemoveParams",
                      "scope": 6929,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 6926,
                        "name": "ElementaryTypeName",
                        "src": "517:7:21"
                      }
                    ],
                    "id": 6927,
                    "name": "VariableDeclaration",
                    "src": "517:27:21"
                  }
                ],
                "id": 6928,
                "name": "ParameterList",
                "src": "348:202:21"
              }
            ],
            "id": 6929,
            "name": "EventDefinition",
            "src": "314:237:21"
          },
          {
            "attributes": {
              "anonymous": false,
              "name": "RemoveGlobalConstraintsProposal"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": true,
                      "name": "_avatar",
                      "scope": 6939,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 6930,
                        "name": "ElementaryTypeName",
                        "src": "603:7:21"
                      }
                    ],
                    "id": 6931,
                    "name": "VariableDeclaration",
                    "src": "603:23:21"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": true,
                      "name": "_proposalId",
                      "scope": 6939,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 6932,
                        "name": "ElementaryTypeName",
                        "src": "636:7:21"
                      }
                    ],
                    "id": 6933,
                    "name": "VariableDeclaration",
                    "src": "636:27:21"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": true,
                      "name": "_intVoteInterface",
                      "scope": 6939,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 6934,
                        "name": "ElementaryTypeName",
                        "src": "673:7:21"
                      }
                    ],
                    "id": 6935,
                    "name": "VariableDeclaration",
                    "src": "673:33:21"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": false,
                      "name": "_gc",
                      "scope": 6939,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 6936,
                        "name": "ElementaryTypeName",
                        "src": "716:7:21"
                      }
                    ],
                    "id": 6937,
                    "name": "VariableDeclaration",
                    "src": "716:11:21"
                  }
                ],
                "id": 6938,
                "name": "ParameterList",
                "src": "593:140:21"
              }
            ],
            "id": 6939,
            "name": "EventDefinition",
            "src": "556:178:21"
          },
          {
            "attributes": {
              "anonymous": false,
              "name": "ProposalExecuted"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": true,
                      "name": "_avatar",
                      "scope": 6945,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 6940,
                        "name": "ElementaryTypeName",
                        "src": "762:7:21"
                      }
                    ],
                    "id": 6941,
                    "name": "VariableDeclaration",
                    "src": "762:23:21"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": true,
                      "name": "_proposalId",
                      "scope": 6945,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 6942,
                        "name": "ElementaryTypeName",
                        "src": "787:7:21"
                      }
                    ],
                    "id": 6943,
                    "name": "VariableDeclaration",
                    "src": "787:27:21"
                  }
                ],
                "id": 6944,
                "name": "ParameterList",
                "src": "761:54:21"
              }
            ],
            "id": 6945,
            "name": "EventDefinition",
            "src": "739:77:21"
          },
          {
            "attributes": {
              "anonymous": false,
              "name": "LogProposalDeleted"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": true,
                      "name": "_avatar",
                      "scope": 6951,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 6946,
                        "name": "ElementaryTypeName",
                        "src": "846:7:21"
                      }
                    ],
                    "id": 6947,
                    "name": "VariableDeclaration",
                    "src": "846:23:21"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "indexed": true,
                      "name": "_proposalId",
                      "scope": 6951,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 6948,
                        "name": "ElementaryTypeName",
                        "src": "871:7:21"
                      }
                    ],
                    "id": 6949,
                    "name": "VariableDeclaration",
                    "src": "871:27:21"
                  }
                ],
                "id": 6950,
                "name": "ParameterList",
                "src": "845:54:21"
              }
            ],
            "id": 6951,
            "name": "EventDefinition",
            "src": "821:79:21"
          },
          {
            "attributes": {
              "canonicalName": "GlobalConstraintRegistrar.GCProposal",
              "name": "GCProposal",
              "scope": 7330,
              "visibility": "public"
            },
            "children": [
              {
                "attributes": {
                  "constant": false,
                  "name": "gc",
                  "scope": 6960,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "address",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "address",
                      "type": "address"
                    },
                    "id": 6952,
                    "name": "ElementaryTypeName",
                    "src": "1035:7:21"
                  }
                ],
                "id": 6953,
                "name": "VariableDeclaration",
                "src": "1035:10:21"
              },
              {
                "attributes": {
                  "constant": false,
                  "name": "params",
                  "scope": 6960,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "bytes32",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "bytes32",
                      "type": "bytes32"
                    },
                    "id": 6954,
                    "name": "ElementaryTypeName",
                    "src": "1105:7:21"
                  }
                ],
                "id": 6955,
                "name": "VariableDeclaration",
                "src": "1105:14:21"
              },
              {
                "attributes": {
                  "constant": false,
                  "name": "proposalType",
                  "scope": 6960,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "uint256",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "uint",
                      "type": "uint256"
                    },
                    "id": 6956,
                    "name": "ElementaryTypeName",
                    "src": "1166:4:21"
                  }
                ],
                "id": 6957,
                "name": "VariableDeclaration",
                "src": "1166:17:21"
              },
              {
                "attributes": {
                  "constant": false,
                  "name": "voteToRemoveParams",
                  "scope": 6960,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "bytes32",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "bytes32",
                      "type": "bytes32"
                    },
                    "id": 6958,
                    "name": "ElementaryTypeName",
                    "src": "1225:7:21"
                  }
                ],
                "id": 6959,
                "name": "VariableDeclaration",
                "src": "1225:26:21"
              }
            ],
            "id": 6960,
            "name": "StructDefinition",
            "src": "1007:294:21"
          },
          {
            "attributes": {
              "canonicalName": "GlobalConstraintRegistrar.Organization",
              "name": "Organization",
              "scope": 7330,
              "visibility": "public"
            },
            "children": [
              {
                "attributes": {
                  "constant": false,
                  "name": "voteRegisterParams",
                  "scope": 6973,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "bytes32",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "bytes32",
                      "type": "bytes32"
                    },
                    "id": 6961,
                    "name": "ElementaryTypeName",
                    "src": "1390:7:21"
                  }
                ],
                "id": 6962,
                "name": "VariableDeclaration",
                "src": "1390:26:21"
              },
              {
                "attributes": {
                  "constant": false,
                  "name": "intVote",
                  "scope": 6973,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "contract IntVoteInterface",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "contractScope": null,
                      "name": "IntVoteInterface",
                      "referencedDeclaration": 2651,
                      "type": "contract IntVoteInterface"
                    },
                    "id": 6963,
                    "name": "UserDefinedTypeName",
                    "src": "1468:16:21"
                  }
                ],
                "id": 6964,
                "name": "VariableDeclaration",
                "src": "1468:24:21"
              },
              {
                "attributes": {
                  "constant": false,
                  "name": "proposals",
                  "scope": 6973,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "mapping(bytes32 => struct GlobalConstraintRegistrar.GCProposal storage ref)",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "type": "mapping(bytes32 => struct GlobalConstraintRegistrar.GCProposal storage ref)"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 6965,
                        "name": "ElementaryTypeName",
                        "src": "1565:7:21"
                      },
                      {
                        "attributes": {
                          "contractScope": null,
                          "name": "GCProposal",
                          "referencedDeclaration": 6960,
                          "type": "struct GlobalConstraintRegistrar.GCProposal storage pointer"
                        },
                        "id": 6966,
                        "name": "UserDefinedTypeName",
                        "src": "1574:10:21"
                      }
                    ],
                    "id": 6967,
                    "name": "Mapping",
                    "src": "1557:28:21"
                  }
                ],
                "id": 6968,
                "name": "VariableDeclaration",
                "src": "1557:38:21"
              },
              {
                "attributes": {
                  "constant": false,
                  "name": "voteToRemoveParams",
                  "scope": 6973,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "mapping(address => bytes32)",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "type": "mapping(address => bytes32)"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 6969,
                        "name": "ElementaryTypeName",
                        "src": "1671:7:21"
                      },
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 6970,
                        "name": "ElementaryTypeName",
                        "src": "1680:7:21"
                      }
                    ],
                    "id": 6971,
                    "name": "Mapping",
                    "src": "1663:25:21"
                  }
                ],
                "id": 6972,
                "name": "VariableDeclaration",
                "src": "1663:44:21"
              }
            ],
            "id": 6973,
            "name": "StructDefinition",
            "src": "1360:415:21"
          },
          {
            "attributes": {
              "constant": false,
              "name": "organizationsData",
              "scope": 7330,
              "stateVariable": true,
              "storageLocation": "default",
              "type": "mapping(address => struct GlobalConstraintRegistrar.Organization storage ref)",
              "value": null,
              "visibility": "public"
            },
            "children": [
              {
                "attributes": {
                  "type": "mapping(address => struct GlobalConstraintRegistrar.Organization storage ref)"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "address",
                      "type": "address"
                    },
                    "id": 6974,
                    "name": "ElementaryTypeName",
                    "src": "1884:7:21"
                  },
                  {
                    "attributes": {
                      "contractScope": null,
                      "name": "Organization",
                      "referencedDeclaration": 6973,
                      "type": "struct GlobalConstraintRegistrar.Organization storage pointer"
                    },
                    "id": 6975,
                    "name": "UserDefinedTypeName",
                    "src": "1893:12:21"
                  }
                ],
                "id": 6976,
                "name": "Mapping",
                "src": "1876:30:21"
              }
            ],
            "id": 6977,
            "name": "VariableDeclaration",
            "src": "1876:55:21"
          },
          {
            "attributes": {
              "canonicalName": "GlobalConstraintRegistrar.Parameters",
              "name": "Parameters",
              "scope": 7330,
              "visibility": "public"
            },
            "children": [
              {
                "attributes": {
                  "constant": false,
                  "name": "voteRegisterParams",
                  "scope": 6982,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "bytes32",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "bytes32",
                      "type": "bytes32"
                    },
                    "id": 6978,
                    "name": "ElementaryTypeName",
                    "src": "2069:7:21"
                  }
                ],
                "id": 6979,
                "name": "VariableDeclaration",
                "src": "2069:26:21"
              },
              {
                "attributes": {
                  "constant": false,
                  "name": "intVote",
                  "scope": 6982,
                  "stateVariable": false,
                  "storageLocation": "default",
                  "type": "contract IntVoteInterface",
                  "value": null,
                  "visibility": "internal"
                },
                "children": [
                  {
                    "attributes": {
                      "contractScope": null,
                      "name": "IntVoteInterface",
                      "referencedDeclaration": 2651,
                      "type": "contract IntVoteInterface"
                    },
                    "id": 6980,
                    "name": "UserDefinedTypeName",
                    "src": "2105:16:21"
                  }
                ],
                "id": 6981,
                "name": "VariableDeclaration",
                "src": "2105:24:21"
              }
            ],
            "id": 6982,
            "name": "StructDefinition",
            "src": "2041:95:21"
          },
          {
            "attributes": {
              "constant": false,
              "name": "parameters",
              "scope": 7330,
              "stateVariable": true,
              "storageLocation": "default",
              "type": "mapping(bytes32 => struct GlobalConstraintRegistrar.Parameters storage ref)",
              "value": null,
              "visibility": "public"
            },
            "children": [
              {
                "attributes": {
                  "type": "mapping(bytes32 => struct GlobalConstraintRegistrar.Parameters storage ref)"
                },
                "children": [
                  {
                    "attributes": {
                      "name": "bytes32",
                      "type": "bytes32"
                    },
                    "id": 6983,
                    "name": "ElementaryTypeName",
                    "src": "2150:7:21"
                  },
                  {
                    "attributes": {
                      "contractScope": null,
                      "name": "Parameters",
                      "referencedDeclaration": 6982,
                      "type": "struct GlobalConstraintRegistrar.Parameters storage pointer"
                    },
                    "id": 6984,
                    "name": "UserDefinedTypeName",
                    "src": "2159:10:21"
                  }
                ],
                "id": 6985,
                "name": "Mapping",
                "src": "2142:28:21"
              }
            ],
            "id": 6986,
            "name": "VariableDeclaration",
            "src": "2142:46:21"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": true,
              "modifiers": [
                null
              ],
              "name": "GlobalConstraintRegistrar",
              "payable": false,
              "scope": 7330,
              "stateMutability": "nonpayable",
              "superFunction": null,
              "visibility": "public"
            },
            "children": [
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 6987,
                "name": "ParameterList",
                "src": "2269:2:21"
              },
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 6988,
                "name": "ParameterList",
                "src": "2279:0:21"
              },
              {
                "attributes": {
                  "statements": [
                    null
                  ]
                },
                "children": [],
                "id": 6989,
                "name": "Block",
                "src": "2279:2:21"
              }
            ],
            "id": 6990,
            "name": "FunctionDefinition",
            "src": "2235:46:21"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "setParameters",
              "payable": false,
              "scope": 7330,
              "stateMutability": "nonpayable",
              "superFunction": null,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_voteRegisterParams",
                      "scope": 7023,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 6991,
                        "name": "ElementaryTypeName",
                        "src": "2594:7:21"
                      }
                    ],
                    "id": 6992,
                    "name": "VariableDeclaration",
                    "src": "2594:27:21"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_intVote",
                      "scope": 7023,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "contract IntVoteInterface",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "contractScope": null,
                          "name": "IntVoteInterface",
                          "referencedDeclaration": 2651,
                          "type": "contract IntVoteInterface"
                        },
                        "id": 6993,
                        "name": "UserDefinedTypeName",
                        "src": "2631:16:21"
                      }
                    ],
                    "id": 6994,
                    "name": "VariableDeclaration",
                    "src": "2631:25:21"
                  }
                ],
                "id": 6995,
                "name": "ParameterList",
                "src": "2584:78:21"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 7023,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 6996,
                        "name": "ElementaryTypeName",
                        "src": "2678:7:21"
                      }
                    ],
                    "id": 6997,
                    "name": "VariableDeclaration",
                    "src": "2678:7:21"
                  }
                ],
                "id": 6998,
                "name": "ParameterList",
                "src": "2677:9:21"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "assignments": [
                        7000
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "paramsHash",
                          "scope": 7023,
                          "stateVariable": false,
                          "storageLocation": "default",
                          "type": "bytes32",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "bytes32",
                              "type": "bytes32"
                            },
                            "id": 6999,
                            "name": "ElementaryTypeName",
                            "src": "2701:7:21"
                          }
                        ],
                        "id": 7000,
                        "name": "VariableDeclaration",
                        "src": "2701:18:21"
                      },
                      {
                        "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_contract$_IntVoteInterface_$2651",
                                  "typeString": "contract IntVoteInterface"
                                }
                              ],
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 7039,
                              "type": "function (bytes32,contract IntVoteInterface) pure returns (bytes32)",
                              "value": "getParametersHash"
                            },
                            "id": 7001,
                            "name": "Identifier",
                            "src": "2722:17:21"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 6992,
                              "type": "bytes32",
                              "value": "_voteRegisterParams"
                            },
                            "id": 7002,
                            "name": "Identifier",
                            "src": "2740:19:21"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 6994,
                              "type": "contract IntVoteInterface",
                              "value": "_intVote"
                            },
                            "id": 7003,
                            "name": "Identifier",
                            "src": "2761:8:21"
                          }
                        ],
                        "id": 7004,
                        "name": "FunctionCall",
                        "src": "2722:48:21"
                      }
                    ],
                    "id": 7005,
                    "name": "VariableDeclarationStatement",
                    "src": "2701:69:21"
                  },
                  {
                    "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": 6979,
                              "type": "bytes32"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "type": "struct GlobalConstraintRegistrar.Parameters storage ref"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 6986,
                                      "type": "mapping(bytes32 => struct GlobalConstraintRegistrar.Parameters storage ref)",
                                      "value": "parameters"
                                    },
                                    "id": 7006,
                                    "name": "Identifier",
                                    "src": "2780:10:21"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 7000,
                                      "type": "bytes32",
                                      "value": "paramsHash"
                                    },
                                    "id": 7007,
                                    "name": "Identifier",
                                    "src": "2791:10:21"
                                  }
                                ],
                                "id": 7008,
                                "name": "IndexAccess",
                                "src": "2780:22:21"
                              }
                            ],
                            "id": 7009,
                            "name": "MemberAccess",
                            "src": "2780:41:21"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 6992,
                              "type": "bytes32",
                              "value": "_voteRegisterParams"
                            },
                            "id": 7010,
                            "name": "Identifier",
                            "src": "2824:19:21"
                          }
                        ],
                        "id": 7011,
                        "name": "Assignment",
                        "src": "2780:63:21"
                      }
                    ],
                    "id": 7012,
                    "name": "ExpressionStatement",
                    "src": "2780:63:21"
                  },
                  {
                    "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": 6981,
                              "type": "contract IntVoteInterface"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "type": "struct GlobalConstraintRegistrar.Parameters storage ref"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 6986,
                                      "type": "mapping(bytes32 => struct GlobalConstraintRegistrar.Parameters storage ref)",
                                      "value": "parameters"
                                    },
                                    "id": 7013,
                                    "name": "Identifier",
                                    "src": "2853:10:21"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 7000,
                                      "type": "bytes32",
                                      "value": "paramsHash"
                                    },
                                    "id": 7014,
                                    "name": "Identifier",
                                    "src": "2864:10:21"
                                  }
                                ],
                                "id": 7015,
                                "name": "IndexAccess",
                                "src": "2853:22:21"
                              }
                            ],
                            "id": 7016,
                            "name": "MemberAccess",
                            "src": "2853:30:21"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 6994,
                              "type": "contract IntVoteInterface",
                              "value": "_intVote"
                            },
                            "id": 7017,
                            "name": "Identifier",
                            "src": "2886:8:21"
                          }
                        ],
                        "id": 7018,
                        "name": "Assignment",
                        "src": "2853:41:21"
                      }
                    ],
                    "id": 7019,
                    "name": "ExpressionStatement",
                    "src": "2853:41:21"
                  },
                  {
                    "attributes": {
                      "functionReturnParameters": 6998
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "overloadedDeclarations": [
                            null
                          ],
                          "referencedDeclaration": 7000,
                          "type": "bytes32",
                          "value": "paramsHash"
                        },
                        "id": 7020,
                        "name": "Identifier",
                        "src": "2911:10:21"
                      }
                    ],
                    "id": 7021,
                    "name": "Return",
                    "src": "2904:17:21"
                  }
                ],
                "id": 7022,
                "name": "Block",
                "src": "2691:237:21"
              }
            ],
            "id": 7023,
            "name": "FunctionDefinition",
            "src": "2562:366:21"
          },
          {
            "attributes": {
              "constant": true,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "getParametersHash",
              "payable": false,
              "scope": 7330,
              "stateMutability": "pure",
              "superFunction": null,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_voteRegisterParams",
                      "scope": 7039,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 7024,
                        "name": "ElementaryTypeName",
                        "src": "3189:7:21"
                      }
                    ],
                    "id": 7025,
                    "name": "VariableDeclaration",
                    "src": "3189:27:21"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_intVote",
                      "scope": 7039,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "contract IntVoteInterface",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "contractScope": null,
                          "name": "IntVoteInterface",
                          "referencedDeclaration": 2651,
                          "type": "contract IntVoteInterface"
                        },
                        "id": 7026,
                        "name": "UserDefinedTypeName",
                        "src": "3226:16:21"
                      }
                    ],
                    "id": 7027,
                    "name": "VariableDeclaration",
                    "src": "3226:25:21"
                  }
                ],
                "id": 7028,
                "name": "ParameterList",
                "src": "3179:78:21"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 7039,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 7029,
                        "name": "ElementaryTypeName",
                        "src": "3278:7:21"
                      }
                    ],
                    "id": 7030,
                    "name": "VariableDeclaration",
                    "src": "3278:7:21"
                  }
                ],
                "id": 7031,
                "name": "ParameterList",
                "src": "3277:9:21"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "functionReturnParameters": 7031
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isInlineArray": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "type": "bytes32"
                        },
                        "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_contract$_IntVoteInterface_$2651",
                                      "typeString": "contract IntVoteInterface"
                                    }
                                  ],
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 10861,
                                  "type": "function () pure returns (bytes32)",
                                  "value": "keccak256"
                                },
                                "id": 7032,
                                "name": "Identifier",
                                "src": "3309:9:21"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 7025,
                                  "type": "bytes32",
                                  "value": "_voteRegisterParams"
                                },
                                "id": 7033,
                                "name": "Identifier",
                                "src": "3319:19:21"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 7027,
                                  "type": "contract IntVoteInterface",
                                  "value": "_intVote"
                                },
                                "id": 7034,
                                "name": "Identifier",
                                "src": "3340:8:21"
                              }
                            ],
                            "id": 7035,
                            "name": "FunctionCall",
                            "src": "3309:40:21"
                          }
                        ],
                        "id": 7036,
                        "name": "TupleExpression",
                        "src": "3308:42:21"
                      }
                    ],
                    "id": 7037,
                    "name": "Return",
                    "src": "3301:49:21"
                  }
                ],
                "id": 7038,
                "name": "Block",
                "src": "3291:66:21"
              }
            ],
            "id": 7039,
            "name": "FunctionDefinition",
            "src": "3153:204:21"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "proposeGlobalConstraint",
              "payable": false,
              "scope": 7330,
              "stateMutability": "nonpayable",
              "superFunction": null,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_avatar",
                      "scope": 7117,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "contract Avatar",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "contractScope": null,
                          "name": "Avatar",
                          "referencedDeclaration": 3065,
                          "type": "contract Avatar"
                        },
                        "id": 7040,
                        "name": "UserDefinedTypeName",
                        "src": "3956:6:21"
                      }
                    ],
                    "id": 7041,
                    "name": "VariableDeclaration",
                    "src": "3956:14:21"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_gc",
                      "scope": 7117,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 7042,
                        "name": "ElementaryTypeName",
                        "src": "3972:7:21"
                      }
                    ],
                    "id": 7043,
                    "name": "VariableDeclaration",
                    "src": "3972:11:21"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_params",
                      "scope": 7117,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 7044,
                        "name": "ElementaryTypeName",
                        "src": "3985:7:21"
                      }
                    ],
                    "id": 7045,
                    "name": "VariableDeclaration",
                    "src": "3985:15:21"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_voteToRemoveParams",
                      "scope": 7117,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 7046,
                        "name": "ElementaryTypeName",
                        "src": "4002:7:21"
                      }
                    ],
                    "id": 7047,
                    "name": "VariableDeclaration",
                    "src": "4002:27:21"
                  }
                ],
                "id": 7048,
                "name": "ParameterList",
                "src": "3955:75:21"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 7117,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 7049,
                        "name": "ElementaryTypeName",
                        "src": "4054:7:21"
                      }
                    ],
                    "id": 7050,
                    "name": "VariableDeclaration",
                    "src": "4054:7:21"
                  }
                ],
                "id": 7051,
                "name": "ParameterList",
                "src": "4053:9:21"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "assignments": [
                        7053
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "votingParams",
                          "scope": 7117,
                          "stateVariable": false,
                          "storageLocation": "memory",
                          "type": "struct GlobalConstraintRegistrar.Parameters memory",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "contractScope": null,
                              "name": "Parameters",
                              "referencedDeclaration": 6982,
                              "type": "struct GlobalConstraintRegistrar.Parameters storage pointer"
                            },
                            "id": 7052,
                            "name": "UserDefinedTypeName",
                            "src": "4077:10:21"
                          }
                        ],
                        "id": 7053,
                        "name": "VariableDeclaration",
                        "src": "4077:30:21"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "type": "struct GlobalConstraintRegistrar.Parameters storage ref"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 6986,
                              "type": "mapping(bytes32 => struct GlobalConstraintRegistrar.Parameters storage ref)",
                              "value": "parameters"
                            },
                            "id": 7054,
                            "name": "Identifier",
                            "src": "4110:10:21"
                          },
                          {
                            "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": 7055,
                                "name": "Identifier",
                                "src": "4121:27:21"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 7041,
                                  "type": "contract Avatar",
                                  "value": "_avatar"
                                },
                                "id": 7056,
                                "name": "Identifier",
                                "src": "4149:7:21"
                              }
                            ],
                            "id": 7057,
                            "name": "FunctionCall",
                            "src": "4121:36:21"
                          }
                        ],
                        "id": 7058,
                        "name": "IndexAccess",
                        "src": "4110:48:21"
                      }
                    ],
                    "id": 7059,
                    "name": "VariableDeclarationStatement",
                    "src": "4077:81:21"
                  },
                  {
                    "attributes": {
                      "assignments": [
                        7061
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "intVote",
                          "scope": 7117,
                          "stateVariable": false,
                          "storageLocation": "default",
                          "type": "contract IntVoteInterface",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "contractScope": null,
                              "name": "IntVoteInterface",
                              "referencedDeclaration": 2651,
                              "type": "contract IntVoteInterface"
                            },
                            "id": 7060,
                            "name": "UserDefinedTypeName",
                            "src": "4169:16:21"
                          }
                        ],
                        "id": 7061,
                        "name": "VariableDeclaration",
                        "src": "4169:24:21"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "member_name": "intVote",
                          "referencedDeclaration": 6981,
                          "type": "contract IntVoteInterface"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 7053,
                              "type": "struct GlobalConstraintRegistrar.Parameters memory",
                              "value": "votingParams"
                            },
                            "id": 7062,
                            "name": "Identifier",
                            "src": "4196:12:21"
                          }
                        ],
                        "id": 7063,
                        "name": "MemberAccess",
                        "src": "4196:20:21"
                      }
                    ],
                    "id": 7064,
                    "name": "VariableDeclarationStatement",
                    "src": "4169:47:21"
                  },
                  {
                    "attributes": {
                      "assignments": [
                        7066
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "proposalId",
                          "scope": 7117,
                          "stateVariable": false,
                          "storageLocation": "default",
                          "type": "bytes32",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "bytes32",
                              "type": "bytes32"
                            },
                            "id": 7065,
                            "name": "ElementaryTypeName",
                            "src": "4226:7:21"
                          }
                        ],
                        "id": 7066,
                        "name": "VariableDeclaration",
                        "src": "4226:18:21"
                      },
                      {
                        "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": 7061,
                                  "type": "contract IntVoteInterface",
                                  "value": "intVote"
                                },
                                "id": 7067,
                                "name": "Identifier",
                                "src": "4247:7:21"
                              }
                            ],
                            "id": 7068,
                            "name": "MemberAccess",
                            "src": "4247:15:21"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "hexvalue": "32",
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "subdenomination": null,
                              "token": "number",
                              "type": "int_const 2",
                              "value": "2"
                            },
                            "id": 7069,
                            "name": "Literal",
                            "src": "4263:1:21"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "member_name": "voteRegisterParams",
                              "referencedDeclaration": 6979,
                              "type": "bytes32"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 7053,
                                  "type": "struct GlobalConstraintRegistrar.Parameters memory",
                                  "value": "votingParams"
                                },
                                "id": 7070,
                                "name": "Identifier",
                                "src": "4266:12:21"
                              }
                            ],
                            "id": 7071,
                            "name": "MemberAccess",
                            "src": "4266:31:21"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 7041,
                              "type": "contract Avatar",
                              "value": "_avatar"
                            },
                            "id": 7072,
                            "name": "Identifier",
                            "src": "4299:7:21"
                          },
                          {
                            "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$_GlobalConstraintRegistrar_$7330",
                                      "typeString": "contract GlobalConstraintRegistrar"
                                    }
                                  ],
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 6617,
                                  "type": "type(contract ExecutableInterface)",
                                  "value": "ExecutableInterface"
                                },
                                "id": 7073,
                                "name": "Identifier",
                                "src": "4308:19:21"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 10946,
                                  "type": "contract GlobalConstraintRegistrar",
                                  "value": "this"
                                },
                                "id": 7074,
                                "name": "Identifier",
                                "src": "4328:4:21"
                              }
                            ],
                            "id": 7075,
                            "name": "FunctionCall",
                            "src": "4308:25:21"
                          }
                        ],
                        "id": 7076,
                        "name": "FunctionCall",
                        "src": "4247:87:21"
                      }
                    ],
                    "id": 7077,
                    "name": "VariableDeclarationStatement",
                    "src": "4226:108:21"
                  },
                  {
                    "attributes": {
                      "assignments": [
                        7079
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "proposal",
                          "scope": 7117,
                          "stateVariable": false,
                          "storageLocation": "memory",
                          "type": "struct GlobalConstraintRegistrar.GCProposal memory",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "contractScope": null,
                              "name": "GCProposal",
                              "referencedDeclaration": 6960,
                              "type": "struct GlobalConstraintRegistrar.GCProposal storage pointer"
                            },
                            "id": 7078,
                            "name": "UserDefinedTypeName",
                            "src": "4345:10:21"
                          }
                        ],
                        "id": 7079,
                        "name": "VariableDeclaration",
                        "src": "4345:26:21"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": true,
                          "lValueRequested": false,
                          "names": [
                            "gc",
                            "params",
                            "proposalType",
                            "voteToRemoveParams"
                          ],
                          "type": "struct GlobalConstraintRegistrar.GCProposal memory",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 6960,
                              "type": "type(struct GlobalConstraintRegistrar.GCProposal storage pointer)",
                              "value": "GCProposal"
                            },
                            "id": 7080,
                            "name": "Identifier",
                            "src": "4374:10:21"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 7043,
                              "type": "address",
                              "value": "_gc"
                            },
                            "id": 7081,
                            "name": "Identifier",
                            "src": "4403:3:21"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 7045,
                              "type": "bytes32",
                              "value": "_params"
                            },
                            "id": 7082,
                            "name": "Identifier",
                            "src": "4428:7:21"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "hexvalue": "31",
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "subdenomination": null,
                              "token": "number",
                              "type": "int_const 1",
                              "value": "1"
                            },
                            "id": 7083,
                            "name": "Literal",
                            "src": "4463:1:21"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 7047,
                              "type": "bytes32",
                              "value": "_voteToRemoveParams"
                            },
                            "id": 7084,
                            "name": "Identifier",
                            "src": "4498:19:21"
                          }
                        ],
                        "id": 7085,
                        "name": "FunctionCall",
                        "src": "4374:154:21"
                      }
                    ],
                    "id": 7086,
                    "name": "VariableDeclarationStatement",
                    "src": "4345:183:21"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "struct GlobalConstraintRegistrar.GCProposal storage ref"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "type": "struct GlobalConstraintRegistrar.GCProposal storage ref"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "member_name": "proposals",
                                  "referencedDeclaration": 6968,
                                  "type": "mapping(bytes32 => struct GlobalConstraintRegistrar.GCProposal storage ref)"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "type": "struct GlobalConstraintRegistrar.Organization storage ref"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 6977,
                                          "type": "mapping(address => struct GlobalConstraintRegistrar.Organization storage ref)",
                                          "value": "organizationsData"
                                        },
                                        "id": 7087,
                                        "name": "Identifier",
                                        "src": "4539:17:21"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 7041,
                                          "type": "contract Avatar",
                                          "value": "_avatar"
                                        },
                                        "id": 7088,
                                        "name": "Identifier",
                                        "src": "4557:7:21"
                                      }
                                    ],
                                    "id": 7089,
                                    "name": "IndexAccess",
                                    "src": "4539:26:21"
                                  }
                                ],
                                "id": 7090,
                                "name": "MemberAccess",
                                "src": "4539:36:21"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 7066,
                                  "type": "bytes32",
                                  "value": "proposalId"
                                },
                                "id": 7091,
                                "name": "Identifier",
                                "src": "4576:10:21"
                              }
                            ],
                            "id": 7092,
                            "name": "IndexAccess",
                            "src": "4539:48:21"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 7079,
                              "type": "struct GlobalConstraintRegistrar.GCProposal memory",
                              "value": "proposal"
                            },
                            "id": 7093,
                            "name": "Identifier",
                            "src": "4590:8:21"
                          }
                        ],
                        "id": 7094,
                        "name": "Assignment",
                        "src": "4539:59:21"
                      }
                    ],
                    "id": 7095,
                    "name": "ExpressionStatement",
                    "src": "4539:59:21"
                  },
                  {
                    "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_bytes32",
                                  "typeString": "bytes32"
                                }
                              ],
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 6929,
                              "type": "function (address,bytes32,address,address,bytes32,bytes32)",
                              "value": "NewGlobalConstraintsProposal"
                            },
                            "id": 7096,
                            "name": "Identifier",
                            "src": "4608:28:21"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 7041,
                              "type": "contract Avatar",
                              "value": "_avatar"
                            },
                            "id": 7097,
                            "name": "Identifier",
                            "src": "4650:7:21"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 7066,
                              "type": "bytes32",
                              "value": "proposalId"
                            },
                            "id": 7098,
                            "name": "Identifier",
                            "src": "4671:10:21"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 7061,
                              "type": "contract IntVoteInterface",
                              "value": "intVote"
                            },
                            "id": 7099,
                            "name": "Identifier",
                            "src": "4695:7:21"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 7043,
                              "type": "address",
                              "value": "_gc"
                            },
                            "id": 7100,
                            "name": "Identifier",
                            "src": "4716:3:21"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 7045,
                              "type": "bytes32",
                              "value": "_params"
                            },
                            "id": 7101,
                            "name": "Identifier",
                            "src": "4733:7:21"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 7047,
                              "type": "bytes32",
                              "value": "_voteToRemoveParams"
                            },
                            "id": 7102,
                            "name": "Identifier",
                            "src": "4754:19:21"
                          }
                        ],
                        "id": 7103,
                        "name": "FunctionCall",
                        "src": "4608:175:21"
                      }
                    ],
                    "id": 7104,
                    "name": "ExpressionStatement",
                    "src": "4608:175:21"
                  },
                  {
                    "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": 7061,
                                  "type": "contract IntVoteInterface",
                                  "value": "intVote"
                                },
                                "id": 7105,
                                "name": "Identifier",
                                "src": "4793:7:21"
                              }
                            ],
                            "id": 7107,
                            "name": "MemberAccess",
                            "src": "4793:17:21"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 7066,
                              "type": "bytes32",
                              "value": "proposalId"
                            },
                            "id": 7108,
                            "name": "Identifier",
                            "src": "4811:10:21"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "hexvalue": "31",
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "subdenomination": null,
                              "token": "number",
                              "type": "int_const 1",
                              "value": "1"
                            },
                            "id": 7109,
                            "name": "Literal",
                            "src": "4823:1:21"
                          },
                          {
                            "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": 7110,
                                "name": "Identifier",
                                "src": "4826:3:21"
                              }
                            ],
                            "id": 7111,
                            "name": "MemberAccess",
                            "src": "4826:10:21"
                          }
                        ],
                        "id": 7112,
                        "name": "FunctionCall",
                        "src": "4793:44:21"
                      }
                    ],
                    "id": 7113,
                    "name": "ExpressionStatement",
                    "src": "4793:44:21"
                  },
                  {
                    "attributes": {
                      "functionReturnParameters": 7051
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "overloadedDeclarations": [
                            null
                          ],
                          "referencedDeclaration": 7066,
                          "type": "bytes32",
                          "value": "proposalId"
                        },
                        "id": 7114,
                        "name": "Identifier",
                        "src": "4910:10:21"
                      }
                    ],
                    "id": 7115,
                    "name": "Return",
                    "src": "4903:17:21"
                  }
                ],
                "id": 7116,
                "name": "Block",
                "src": "4067:860:21"
              }
            ],
            "id": 7117,
            "name": "FunctionDefinition",
            "src": "3923:1004:21"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "proposeToRemoveGC",
              "payable": false,
              "scope": 7330,
              "stateMutability": "nonpayable",
              "superFunction": null,
              "visibility": "public"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_avatar",
                      "scope": 7217,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "contract Avatar",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "contractScope": null,
                          "name": "Avatar",
                          "referencedDeclaration": 3065,
                          "type": "contract Avatar"
                        },
                        "id": 7118,
                        "name": "UserDefinedTypeName",
                        "src": "5229:6:21"
                      }
                    ],
                    "id": 7119,
                    "name": "VariableDeclaration",
                    "src": "5229:14:21"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_gc",
                      "scope": 7217,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 7120,
                        "name": "ElementaryTypeName",
                        "src": "5245:7:21"
                      }
                    ],
                    "id": 7121,
                    "name": "VariableDeclaration",
                    "src": "5245:11:21"
                  }
                ],
                "id": 7122,
                "name": "ParameterList",
                "src": "5228:29:21"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 7217,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 7123,
                        "name": "ElementaryTypeName",
                        "src": "5273:7:21"
                      }
                    ],
                    "id": 7124,
                    "name": "VariableDeclaration",
                    "src": "5273:7:21"
                  }
                ],
                "id": 7125,
                "name": "ParameterList",
                "src": "5272:9:21"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "assignments": [
                        7127
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "org",
                          "scope": 7217,
                          "stateVariable": false,
                          "storageLocation": "storage",
                          "type": "struct GlobalConstraintRegistrar.Organization storage pointer",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "contractScope": null,
                              "name": "Organization",
                              "referencedDeclaration": 6973,
                              "type": "struct GlobalConstraintRegistrar.Organization storage pointer"
                            },
                            "id": 7126,
                            "name": "UserDefinedTypeName",
                            "src": "5292:12:21"
                          }
                        ],
                        "id": 7127,
                        "name": "VariableDeclaration",
                        "src": "5292:24:21"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "type": "struct GlobalConstraintRegistrar.Organization storage ref"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 6977,
                              "type": "mapping(address => struct GlobalConstraintRegistrar.Organization storage ref)",
                              "value": "organizationsData"
                            },
                            "id": 7128,
                            "name": "Identifier",
                            "src": "5319:17:21"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 7119,
                              "type": "contract Avatar",
                              "value": "_avatar"
                            },
                            "id": 7129,
                            "name": "Identifier",
                            "src": "5337:7:21"
                          }
                        ],
                        "id": 7130,
                        "name": "IndexAccess",
                        "src": "5319:26:21"
                      }
                    ],
                    "id": 7131,
                    "name": "VariableDeclarationStatement",
                    "src": "5292:53:21"
                  },
                  {
                    "attributes": {
                      "assignments": [
                        7133
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "controller",
                          "scope": 7217,
                          "stateVariable": false,
                          "storageLocation": "default",
                          "type": "contract Controller",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "contractScope": null,
                              "name": "Controller",
                              "referencedDeclaration": 4159,
                              "type": "contract Controller"
                            },
                            "id": 7132,
                            "name": "UserDefinedTypeName",
                            "src": "5355:10:21"
                          }
                        ],
                        "id": 7133,
                        "name": "VariableDeclaration",
                        "src": "5355:21:21"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": false,
                          "lValueRequested": false,
                          "names": [
                            null
                          ],
                          "type": "contract Controller",
                          "type_conversion": true
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              ],
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 4159,
                              "type": "type(contract Controller)",
                              "value": "Controller"
                            },
                            "id": 7134,
                            "name": "Identifier",
                            "src": "5379:10:21"
                          },
                          {
                            "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_contract$_Avatar_$3065",
                                              "typeString": "contract Avatar"
                                            }
                                          ],
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 3065,
                                          "type": "type(contract Avatar)",
                                          "value": "Avatar"
                                        },
                                        "id": 7135,
                                        "name": "Identifier",
                                        "src": "5390:6:21"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 7119,
                                          "type": "contract Avatar",
                                          "value": "_avatar"
                                        },
                                        "id": 7136,
                                        "name": "Identifier",
                                        "src": "5397:7:21"
                                      }
                                    ],
                                    "id": 7137,
                                    "name": "FunctionCall",
                                    "src": "5390:15:21"
                                  }
                                ],
                                "id": 7138,
                                "name": "MemberAccess",
                                "src": "5390:21:21"
                              }
                            ],
                            "id": 7139,
                            "name": "FunctionCall",
                            "src": "5390:23:21"
                          }
                        ],
                        "id": 7140,
                        "name": "FunctionCall",
                        "src": "5379:35:21"
                      }
                    ],
                    "id": 7141,
                    "name": "VariableDeclarationStatement",
                    "src": "5355:59:21"
                  },
                  {
                    "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": 7142,
                            "name": "Identifier",
                            "src": "5424:7:21"
                          },
                          {
                            "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": "isGlobalConstraintRegistered",
                                  "referencedDeclaration": 3748,
                                  "type": "function (address,address) view external returns (bool)"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 7133,
                                      "type": "contract Controller",
                                      "value": "controller"
                                    },
                                    "id": 7143,
                                    "name": "Identifier",
                                    "src": "5432:10:21"
                                  }
                                ],
                                "id": 7144,
                                "name": "MemberAccess",
                                "src": "5432:39:21"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 7121,
                                  "type": "address",
                                  "value": "_gc"
                                },
                                "id": 7145,
                                "name": "Identifier",
                                "src": "5472:3:21"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "isStructConstructorCall": false,
                                  "lValueRequested": false,
                                  "names": [
                                    null
                                  ],
                                  "type": "address",
                                  "type_conversion": true
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_contract$_Avatar_$3065",
                                          "typeString": "contract Avatar"
                                        }
                                      ],
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "type": "type(address)",
                                      "value": "address"
                                    },
                                    "id": 7146,
                                    "name": "ElementaryTypeNameExpression",
                                    "src": "5476:7:21"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 7119,
                                      "type": "contract Avatar",
                                      "value": "_avatar"
                                    },
                                    "id": 7147,
                                    "name": "Identifier",
                                    "src": "5484:7:21"
                                  }
                                ],
                                "id": 7148,
                                "name": "FunctionCall",
                                "src": "5476:16:21"
                              }
                            ],
                            "id": 7149,
                            "name": "FunctionCall",
                            "src": "5432:61:21"
                          }
                        ],
                        "id": 7150,
                        "name": "FunctionCall",
                        "src": "5424:70:21"
                      }
                    ],
                    "id": 7151,
                    "name": "ExpressionStatement",
                    "src": "5424:70:21"
                  },
                  {
                    "attributes": {
                      "assignments": [
                        7153
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "params",
                          "scope": 7217,
                          "stateVariable": false,
                          "storageLocation": "memory",
                          "type": "struct GlobalConstraintRegistrar.Parameters memory",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "contractScope": null,
                              "name": "Parameters",
                              "referencedDeclaration": 6982,
                              "type": "struct GlobalConstraintRegistrar.Parameters storage pointer"
                            },
                            "id": 7152,
                            "name": "UserDefinedTypeName",
                            "src": "5504:10:21"
                          }
                        ],
                        "id": 7153,
                        "name": "VariableDeclaration",
                        "src": "5504:24:21"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "type": "struct GlobalConstraintRegistrar.Parameters storage ref"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 6986,
                              "type": "mapping(bytes32 => struct GlobalConstraintRegistrar.Parameters storage ref)",
                              "value": "parameters"
                            },
                            "id": 7154,
                            "name": "Identifier",
                            "src": "5531:10:21"
                          },
                          {
                            "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": 7155,
                                "name": "Identifier",
                                "src": "5542:27:21"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 7119,
                                  "type": "contract Avatar",
                                  "value": "_avatar"
                                },
                                "id": 7156,
                                "name": "Identifier",
                                "src": "5570:7:21"
                              }
                            ],
                            "id": 7157,
                            "name": "FunctionCall",
                            "src": "5542:36:21"
                          }
                        ],
                        "id": 7158,
                        "name": "IndexAccess",
                        "src": "5531:48:21"
                      }
                    ],
                    "id": 7159,
                    "name": "VariableDeclarationStatement",
                    "src": "5504:75:21"
                  },
                  {
                    "attributes": {
                      "assignments": [
                        7161
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "intVote",
                          "scope": 7217,
                          "stateVariable": false,
                          "storageLocation": "default",
                          "type": "contract IntVoteInterface",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "contractScope": null,
                              "name": "IntVoteInterface",
                              "referencedDeclaration": 2651,
                              "type": "contract IntVoteInterface"
                            },
                            "id": 7160,
                            "name": "UserDefinedTypeName",
                            "src": "5589:16:21"
                          }
                        ],
                        "id": 7161,
                        "name": "VariableDeclaration",
                        "src": "5589:24:21"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "member_name": "intVote",
                          "referencedDeclaration": 6981,
                          "type": "contract IntVoteInterface"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 7153,
                              "type": "struct GlobalConstraintRegistrar.Parameters memory",
                              "value": "params"
                            },
                            "id": 7162,
                            "name": "Identifier",
                            "src": "5616:6:21"
                          }
                        ],
                        "id": 7163,
                        "name": "MemberAccess",
                        "src": "5616:14:21"
                      }
                    ],
                    "id": 7164,
                    "name": "VariableDeclarationStatement",
                    "src": "5589:41:21"
                  },
                  {
                    "attributes": {
                      "assignments": [
                        7166
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "proposalId",
                          "scope": 7217,
                          "stateVariable": false,
                          "storageLocation": "default",
                          "type": "bytes32",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "bytes32",
                              "type": "bytes32"
                            },
                            "id": 7165,
                            "name": "ElementaryTypeName",
                            "src": "5640:7:21"
                          }
                        ],
                        "id": 7166,
                        "name": "VariableDeclaration",
                        "src": "5640:18:21"
                      },
                      {
                        "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": 7161,
                                  "type": "contract IntVoteInterface",
                                  "value": "intVote"
                                },
                                "id": 7167,
                                "name": "Identifier",
                                "src": "5661:7:21"
                              }
                            ],
                            "id": 7168,
                            "name": "MemberAccess",
                            "src": "5661:15:21"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "hexvalue": "32",
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "subdenomination": null,
                              "token": "number",
                              "type": "int_const 2",
                              "value": "2"
                            },
                            "id": 7169,
                            "name": "Literal",
                            "src": "5677:1:21"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "type": "bytes32"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "member_name": "voteToRemoveParams",
                                  "referencedDeclaration": 6972,
                                  "type": "mapping(address => bytes32)"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 7127,
                                      "type": "struct GlobalConstraintRegistrar.Organization storage pointer",
                                      "value": "org"
                                    },
                                    "id": 7170,
                                    "name": "Identifier",
                                    "src": "5680:3:21"
                                  }
                                ],
                                "id": 7171,
                                "name": "MemberAccess",
                                "src": "5680:22:21"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 7121,
                                  "type": "address",
                                  "value": "_gc"
                                },
                                "id": 7172,
                                "name": "Identifier",
                                "src": "5703:3:21"
                              }
                            ],
                            "id": 7173,
                            "name": "IndexAccess",
                            "src": "5680:27:21"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 7119,
                              "type": "contract Avatar",
                              "value": "_avatar"
                            },
                            "id": 7174,
                            "name": "Identifier",
                            "src": "5709:7:21"
                          },
                          {
                            "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$_GlobalConstraintRegistrar_$7330",
                                      "typeString": "contract GlobalConstraintRegistrar"
                                    }
                                  ],
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 6617,
                                  "type": "type(contract ExecutableInterface)",
                                  "value": "ExecutableInterface"
                                },
                                "id": 7175,
                                "name": "Identifier",
                                "src": "5718:19:21"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 10946,
                                  "type": "contract GlobalConstraintRegistrar",
                                  "value": "this"
                                },
                                "id": 7176,
                                "name": "Identifier",
                                "src": "5738:4:21"
                              }
                            ],
                            "id": 7177,
                            "name": "FunctionCall",
                            "src": "5718:25:21"
                          }
                        ],
                        "id": 7178,
                        "name": "FunctionCall",
                        "src": "5661:83:21"
                      }
                    ],
                    "id": 7179,
                    "name": "VariableDeclarationStatement",
                    "src": "5640:104:21"
                  },
                  {
                    "attributes": {
                      "assignments": [
                        7181
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "proposal",
                          "scope": 7217,
                          "stateVariable": false,
                          "storageLocation": "memory",
                          "type": "struct GlobalConstraintRegistrar.GCProposal memory",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "contractScope": null,
                              "name": "GCProposal",
                              "referencedDeclaration": 6960,
                              "type": "struct GlobalConstraintRegistrar.GCProposal storage pointer"
                            },
                            "id": 7180,
                            "name": "UserDefinedTypeName",
                            "src": "5755:10:21"
                          }
                        ],
                        "id": 7181,
                        "name": "VariableDeclaration",
                        "src": "5755:26:21"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "isStructConstructorCall": true,
                          "lValueRequested": false,
                          "names": [
                            "gc",
                            "params",
                            "proposalType",
                            "voteToRemoveParams"
                          ],
                          "type": "struct GlobalConstraintRegistrar.GCProposal memory",
                          "type_conversion": false
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 6960,
                              "type": "type(struct GlobalConstraintRegistrar.GCProposal storage pointer)",
                              "value": "GCProposal"
                            },
                            "id": 7182,
                            "name": "Identifier",
                            "src": "5784:10:21"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 7121,
                              "type": "address",
                              "value": "_gc"
                            },
                            "id": 7183,
                            "name": "Identifier",
                            "src": "5813:3:21"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "hexvalue": "30",
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "subdenomination": null,
                              "token": "number",
                              "type": "int_const 0",
                              "value": "0"
                            },
                            "id": 7184,
                            "name": "Literal",
                            "src": "5838:1:21"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "hexvalue": "32",
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "subdenomination": null,
                              "token": "number",
                              "type": "int_const 2",
                              "value": "2"
                            },
                            "id": 7185,
                            "name": "Literal",
                            "src": "5867:1:21"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "hexvalue": "30",
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "subdenomination": null,
                              "token": "number",
                              "type": "int_const 0",
                              "value": "0"
                            },
                            "id": 7186,
                            "name": "Literal",
                            "src": "5902:1:21"
                          }
                        ],
                        "id": 7187,
                        "name": "FunctionCall",
                        "src": "5784:130:21"
                      }
                    ],
                    "id": 7188,
                    "name": "VariableDeclarationStatement",
                    "src": "5755:159:21"
                  },
                  {
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "operator": "=",
                          "type": "struct GlobalConstraintRegistrar.GCProposal storage ref"
                        },
                        "children": [
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": true,
                              "type": "struct GlobalConstraintRegistrar.GCProposal storage ref"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "member_name": "proposals",
                                  "referencedDeclaration": 6968,
                                  "type": "mapping(bytes32 => struct GlobalConstraintRegistrar.GCProposal storage ref)"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "type": "struct GlobalConstraintRegistrar.Organization storage ref"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 6977,
                                          "type": "mapping(address => struct GlobalConstraintRegistrar.Organization storage ref)",
                                          "value": "organizationsData"
                                        },
                                        "id": 7189,
                                        "name": "Identifier",
                                        "src": "5925:17:21"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 7119,
                                          "type": "contract Avatar",
                                          "value": "_avatar"
                                        },
                                        "id": 7190,
                                        "name": "Identifier",
                                        "src": "5943:7:21"
                                      }
                                    ],
                                    "id": 7191,
                                    "name": "IndexAccess",
                                    "src": "5925:26:21"
                                  }
                                ],
                                "id": 7192,
                                "name": "MemberAccess",
                                "src": "5925:36:21"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 7166,
                                  "type": "bytes32",
                                  "value": "proposalId"
                                },
                                "id": 7193,
                                "name": "Identifier",
                                "src": "5962:10:21"
                              }
                            ],
                            "id": 7194,
                            "name": "IndexAccess",
                            "src": "5925:48:21"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 7181,
                              "type": "struct GlobalConstraintRegistrar.GCProposal memory",
                              "value": "proposal"
                            },
                            "id": 7195,
                            "name": "Identifier",
                            "src": "5976:8:21"
                          }
                        ],
                        "id": 7196,
                        "name": "Assignment",
                        "src": "5925:59:21"
                      }
                    ],
                    "id": 7197,
                    "name": "ExpressionStatement",
                    "src": "5925:59:21"
                  },
                  {
                    "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": 6939,
                              "type": "function (address,bytes32,address,address)",
                              "value": "RemoveGlobalConstraintsProposal"
                            },
                            "id": 7198,
                            "name": "Identifier",
                            "src": "5994:31:21"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 7119,
                              "type": "contract Avatar",
                              "value": "_avatar"
                            },
                            "id": 7199,
                            "name": "Identifier",
                            "src": "6026:7:21"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 7166,
                              "type": "bytes32",
                              "value": "proposalId"
                            },
                            "id": 7200,
                            "name": "Identifier",
                            "src": "6035:10:21"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 7161,
                              "type": "contract IntVoteInterface",
                              "value": "intVote"
                            },
                            "id": 7201,
                            "name": "Identifier",
                            "src": "6047:7:21"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 7121,
                              "type": "address",
                              "value": "_gc"
                            },
                            "id": 7202,
                            "name": "Identifier",
                            "src": "6056:3:21"
                          }
                        ],
                        "id": 7203,
                        "name": "FunctionCall",
                        "src": "5994:66:21"
                      }
                    ],
                    "id": 7204,
                    "name": "ExpressionStatement",
                    "src": "5994:66:21"
                  },
                  {
                    "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": 7161,
                                  "type": "contract IntVoteInterface",
                                  "value": "intVote"
                                },
                                "id": 7205,
                                "name": "Identifier",
                                "src": "6070:7:21"
                              }
                            ],
                            "id": 7207,
                            "name": "MemberAccess",
                            "src": "6070:17:21"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 7166,
                              "type": "bytes32",
                              "value": "proposalId"
                            },
                            "id": 7208,
                            "name": "Identifier",
                            "src": "6088:10:21"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "hexvalue": "31",
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "subdenomination": null,
                              "token": "number",
                              "type": "int_const 1",
                              "value": "1"
                            },
                            "id": 7209,
                            "name": "Literal",
                            "src": "6100:1:21"
                          },
                          {
                            "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": 7210,
                                "name": "Identifier",
                                "src": "6103:3:21"
                              }
                            ],
                            "id": 7211,
                            "name": "MemberAccess",
                            "src": "6103:10:21"
                          }
                        ],
                        "id": 7212,
                        "name": "FunctionCall",
                        "src": "6070:44:21"
                      }
                    ],
                    "id": 7213,
                    "name": "ExpressionStatement",
                    "src": "6070:44:21"
                  },
                  {
                    "attributes": {
                      "functionReturnParameters": 7125
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "overloadedDeclarations": [
                            null
                          ],
                          "referencedDeclaration": 7166,
                          "type": "bytes32",
                          "value": "proposalId"
                        },
                        "id": 7214,
                        "name": "Identifier",
                        "src": "6187:10:21"
                      }
                    ],
                    "id": 7215,
                    "name": "Return",
                    "src": "6180:17:21"
                  }
                ],
                "id": 7216,
                "name": "Block",
                "src": "5282:922:21"
              }
            ],
            "id": 7217,
            "name": "FunctionDefinition",
            "src": "5202:1002:21"
          },
          {
            "attributes": {
              "constant": false,
              "implemented": true,
              "isConstructor": false,
              "modifiers": [
                null
              ],
              "name": "execute",
              "payable": false,
              "scope": 7330,
              "stateMutability": "nonpayable",
              "superFunction": null,
              "visibility": "external"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_proposalId",
                      "scope": 7329,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bytes32",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bytes32",
                          "type": "bytes32"
                        },
                        "id": 7218,
                        "name": "ElementaryTypeName",
                        "src": "6602:7:21"
                      }
                    ],
                    "id": 7219,
                    "name": "VariableDeclaration",
                    "src": "6602:19:21"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_avatar",
                      "scope": 7329,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "type": "address"
                        },
                        "id": 7220,
                        "name": "ElementaryTypeName",
                        "src": "6623:7:21"
                      }
                    ],
                    "id": 7221,
                    "name": "VariableDeclaration",
                    "src": "6623:15:21"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "name": "_param",
                      "scope": 7329,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "int256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "int",
                          "type": "int256"
                        },
                        "id": 7222,
                        "name": "ElementaryTypeName",
                        "src": "6640:3:21"
                      }
                    ],
                    "id": 7223,
                    "name": "VariableDeclaration",
                    "src": "6640:10:21"
                  }
                ],
                "id": 7224,
                "name": "ParameterList",
                "src": "6601:50:21"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "name": "",
                      "scope": 7329,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bool",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bool",
                          "type": "bool"
                        },
                        "id": 7225,
                        "name": "ElementaryTypeName",
                        "src": "6669:4:21"
                      }
                    ],
                    "id": 7226,
                    "name": "VariableDeclaration",
                    "src": "6669:4:21"
                  }
                ],
                "id": 7227,
                "name": "ParameterList",
                "src": "6668:6:21"
              },
              {
                "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": 7228,
                            "name": "Identifier",
                            "src": "6744:7:21"
                          },
                          {
                            "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": 6981,
                                  "type": "contract IntVoteInterface"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "type": "struct GlobalConstraintRegistrar.Parameters storage ref"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 6986,
                                          "type": "mapping(bytes32 => struct GlobalConstraintRegistrar.Parameters storage ref)",
                                          "value": "parameters"
                                        },
                                        "id": 7229,
                                        "name": "Identifier",
                                        "src": "6752:10:21"
                                      },
                                      {
                                        "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": 7230,
                                            "name": "Identifier",
                                            "src": "6763:27:21"
                                          },
                                          {
                                            "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": 7231,
                                                "name": "Identifier",
                                                "src": "6791:6:21"
                                              },
                                              {
                                                "attributes": {
                                                  "argumentTypes": null,
                                                  "overloadedDeclarations": [
                                                    null
                                                  ],
                                                  "referencedDeclaration": 7221,
                                                  "type": "address",
                                                  "value": "_avatar"
                                                },
                                                "id": 7232,
                                                "name": "Identifier",
                                                "src": "6798:7:21"
                                              }
                                            ],
                                            "id": 7233,
                                            "name": "FunctionCall",
                                            "src": "6791:15:21"
                                          }
                                        ],
                                        "id": 7234,
                                        "name": "FunctionCall",
                                        "src": "6763:44:21"
                                      }
                                    ],
                                    "id": 7235,
                                    "name": "IndexAccess",
                                    "src": "6752:56:21"
                                  }
                                ],
                                "id": 7236,
                                "name": "MemberAccess",
                                "src": "6752:64:21"
                              },
                              {
                                "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": 7237,
                                    "name": "Identifier",
                                    "src": "6820:3:21"
                                  }
                                ],
                                "id": 7238,
                                "name": "MemberAccess",
                                "src": "6820:10:21"
                              }
                            ],
                            "id": 7239,
                            "name": "BinaryOperation",
                            "src": "6752:78:21"
                          }
                        ],
                        "id": 7240,
                        "name": "FunctionCall",
                        "src": "6744:87:21"
                      }
                    ],
                    "id": 7241,
                    "name": "ExpressionStatement",
                    "src": "6744:87:21"
                  },
                  {
                    "attributes": {
                      "assignments": [
                        7243
                      ]
                    },
                    "children": [
                      {
                        "attributes": {
                          "constant": false,
                          "name": "retVal",
                          "scope": 7329,
                          "stateVariable": false,
                          "storageLocation": "default",
                          "type": "bool",
                          "value": null,
                          "visibility": "internal"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "bool",
                              "type": "bool"
                            },
                            "id": 7242,
                            "name": "ElementaryTypeName",
                            "src": "6841:4:21"
                          }
                        ],
                        "id": 7243,
                        "name": "VariableDeclaration",
                        "src": "6841:11:21"
                      },
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "hexvalue": "74727565",
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "subdenomination": null,
                          "token": "bool",
                          "type": "bool",
                          "value": "true"
                        },
                        "id": 7244,
                        "name": "Literal",
                        "src": "6855:4:21"
                      }
                    ],
                    "id": 7245,
                    "name": "VariableDeclarationStatement",
                    "src": "6841:18:21"
                  },
                  {
                    "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": 7223,
                              "type": "int256",
                              "value": "_param"
                            },
                            "id": 7246,
                            "name": "Identifier",
                            "src": "6914:6:21"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "hexvalue": "31",
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "subdenomination": null,
                              "token": "number",
                              "type": "int_const 1",
                              "value": "1"
                            },
                            "id": 7247,
                            "name": "Literal",
                            "src": "6924:1:21"
                          }
                        ],
                        "id": 7248,
                        "name": "BinaryOperation",
                        "src": "6914:11:21"
                      },
                      {
                        "children": [
                          {
                            "attributes": {
                              "assignments": [
                                7250
                              ]
                            },
                            "children": [
                              {
                                "attributes": {
                                  "constant": false,
                                  "name": "controller",
                                  "scope": 7329,
                                  "stateVariable": false,
                                  "storageLocation": "default",
                                  "type": "contract ControllerInterface",
                                  "value": null,
                                  "visibility": "internal"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "contractScope": null,
                                      "name": "ControllerInterface",
                                      "referencedDeclaration": 4364,
                                      "type": "contract ControllerInterface"
                                    },
                                    "id": 7249,
                                    "name": "UserDefinedTypeName",
                                    "src": "6992:19:21"
                                  }
                                ],
                                "id": 7250,
                                "name": "VariableDeclaration",
                                "src": "6992:30:21"
                              },
                              {
                                "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": 7251,
                                    "name": "Identifier",
                                    "src": "7025:19:21"
                                  },
                                  {
                                    "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": 7252,
                                                "name": "Identifier",
                                                "src": "7045:6:21"
                                              },
                                              {
                                                "attributes": {
                                                  "argumentTypes": null,
                                                  "overloadedDeclarations": [
                                                    null
                                                  ],
                                                  "referencedDeclaration": 7221,
                                                  "type": "address",
                                                  "value": "_avatar"
                                                },
                                                "id": 7253,
                                                "name": "Identifier",
                                                "src": "7052:7:21"
                                              }
                                            ],
                                            "id": 7254,
                                            "name": "FunctionCall",
                                            "src": "7045:15:21"
                                          }
                                        ],
                                        "id": 7255,
                                        "name": "MemberAccess",
                                        "src": "7045:21:21"
                                      }
                                    ],
                                    "id": 7256,
                                    "name": "FunctionCall",
                                    "src": "7045:23:21"
                                  }
                                ],
                                "id": 7257,
                                "name": "FunctionCall",
                                "src": "7025:44:21"
                              }
                            ],
                            "id": 7258,
                            "name": "VariableDeclarationStatement",
                            "src": "6992:77:21"
                          },
                          {
                            "attributes": {
                              "assignments": [
                                7260
                              ]
                            },
                            "children": [
                              {
                                "attributes": {
                                  "constant": false,
                                  "name": "proposal",
                                  "scope": 7329,
                                  "stateVariable": false,
                                  "storageLocation": "memory",
                                  "type": "struct GlobalConstraintRegistrar.GCProposal memory",
                                  "value": null,
                                  "visibility": "internal"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "contractScope": null,
                                      "name": "GCProposal",
                                      "referencedDeclaration": 6960,
                                      "type": "struct GlobalConstraintRegistrar.GCProposal storage pointer"
                                    },
                                    "id": 7259,
                                    "name": "UserDefinedTypeName",
                                    "src": "7083:10:21"
                                  }
                                ],
                                "id": 7260,
                                "name": "VariableDeclaration",
                                "src": "7083:26:21"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "type": "struct GlobalConstraintRegistrar.GCProposal storage ref"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "member_name": "proposals",
                                      "referencedDeclaration": 6968,
                                      "type": "mapping(bytes32 => struct GlobalConstraintRegistrar.GCProposal storage ref)"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "isConstant": false,
                                          "isLValue": true,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "type": "struct GlobalConstraintRegistrar.Organization storage ref"
                                        },
                                        "children": [
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "overloadedDeclarations": [
                                                null
                                              ],
                                              "referencedDeclaration": 6977,
                                              "type": "mapping(address => struct GlobalConstraintRegistrar.Organization storage ref)",
                                              "value": "organizationsData"
                                            },
                                            "id": 7261,
                                            "name": "Identifier",
                                            "src": "7112:17:21"
                                          },
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "overloadedDeclarations": [
                                                null
                                              ],
                                              "referencedDeclaration": 7221,
                                              "type": "address",
                                              "value": "_avatar"
                                            },
                                            "id": 7262,
                                            "name": "Identifier",
                                            "src": "7130:7:21"
                                          }
                                        ],
                                        "id": 7263,
                                        "name": "IndexAccess",
                                        "src": "7112:26:21"
                                      }
                                    ],
                                    "id": 7264,
                                    "name": "MemberAccess",
                                    "src": "7112:36:21"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "overloadedDeclarations": [
                                        null
                                      ],
                                      "referencedDeclaration": 7219,
                                      "type": "bytes32",
                                      "value": "_proposalId"
                                    },
                                    "id": 7265,
                                    "name": "Identifier",
                                    "src": "7149:11:21"
                                  }
                                ],
                                "id": 7266,
                                "name": "IndexAccess",
                                "src": "7112:49:21"
                              }
                            ],
                            "id": 7267,
                            "name": "VariableDeclarationStatement",
                            "src": "7083:78:21"
                          },
                          {
                            "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": 6957,
                                      "type": "uint256"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 7260,
                                          "type": "struct GlobalConstraintRegistrar.GCProposal memory",
                                          "value": "proposal"
                                        },
                                        "id": 7268,
                                        "name": "Identifier",
                                        "src": "7202:8:21"
                                      }
                                    ],
                                    "id": 7269,
                                    "name": "MemberAccess",
                                    "src": "7202:21:21"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "hexvalue": "31",
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "subdenomination": null,
                                      "token": "number",
                                      "type": "int_const 1",
                                      "value": "1"
                                    },
                                    "id": 7270,
                                    "name": "Literal",
                                    "src": "7227:1:21"
                                  }
                                ],
                                "id": 7271,
                                "name": "BinaryOperation",
                                "src": "7202:26:21"
                              },
                              {
                                "children": [
                                  {
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "operator": "=",
                                          "type": "bool"
                                        },
                                        "children": [
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "overloadedDeclarations": [
                                                null
                                              ],
                                              "referencedDeclaration": 7243,
                                              "type": "bool",
                                              "value": "retVal"
                                            },
                                            "id": 7272,
                                            "name": "Identifier",
                                            "src": "7248:6:21"
                                          },
                                          {
                                            "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_address",
                                                      "typeString": "address"
                                                    }
                                                  ],
                                                  "isConstant": false,
                                                  "isLValue": false,
                                                  "isPure": false,
                                                  "lValueRequested": false,
                                                  "member_name": "addGlobalConstraint",
                                                  "referencedDeclaration": 4270,
                                                  "type": "function (address,bytes32,address) external returns (bool)"
                                                },
                                                "children": [
                                                  {
                                                    "attributes": {
                                                      "argumentTypes": null,
                                                      "overloadedDeclarations": [
                                                        null
                                                      ],
                                                      "referencedDeclaration": 7250,
                                                      "type": "contract ControllerInterface",
                                                      "value": "controller"
                                                    },
                                                    "id": 7273,
                                                    "name": "Identifier",
                                                    "src": "7257:10:21"
                                                  }
                                                ],
                                                "id": 7274,
                                                "name": "MemberAccess",
                                                "src": "7257:30:21"
                                              },
                                              {
                                                "attributes": {
                                                  "argumentTypes": null,
                                                  "isConstant": false,
                                                  "isLValue": true,
                                                  "isPure": false,
                                                  "lValueRequested": false,
                                                  "member_name": "gc",
                                                  "referencedDeclaration": 6953,
                                                  "type": "address"
                                                },
                                                "children": [
                                                  {
                                                    "attributes": {
                                                      "argumentTypes": null,
                                                      "overloadedDeclarations": [
                                                        null
                                                      ],
                                                      "referencedDeclaration": 7260,
                                                      "type": "struct GlobalConstraintRegistrar.GCProposal memory",
                                                      "value": "proposal"
                                                    },
                                                    "id": 7275,
                                                    "name": "Identifier",
                                                    "src": "7288:8:21"
                                                  }
                                                ],
                                                "id": 7276,
                                                "name": "MemberAccess",
                                                "src": "7288:11:21"
                                              },
                                              {
                                                "attributes": {
                                                  "argumentTypes": null,
                                                  "isConstant": false,
                                                  "isLValue": true,
                                                  "isPure": false,
                                                  "lValueRequested": false,
                                                  "member_name": "params",
                                                  "referencedDeclaration": 6955,
                                                  "type": "bytes32"
                                                },
                                                "children": [
                                                  {
                                                    "attributes": {
                                                      "argumentTypes": null,
                                                      "overloadedDeclarations": [
                                                        null
                                                      ],
                                                      "referencedDeclaration": 7260,
                                                      "type": "struct GlobalConstraintRegistrar.GCProposal memory",
                                                      "value": "proposal"
                                                    },
                                                    "id": 7277,
                                                    "name": "Identifier",
                                                    "src": "7301:8:21"
                                                  }
                                                ],
                                                "id": 7278,
                                                "name": "MemberAccess",
                                                "src": "7301:15:21"
                                              },
                                              {
                                                "attributes": {
                                                  "argumentTypes": null,
                                                  "overloadedDeclarations": [
                                                    null
                                                  ],
                                                  "referencedDeclaration": 7221,
                                                  "type": "address",
                                                  "value": "_avatar"
                                                },
                                                "id": 7279,
                                                "name": "Identifier",
                                                "src": "7317:7:21"
                                              }
                                            ],
                                            "id": 7280,
                                            "name": "FunctionCall",
                                            "src": "7257:68:21"
                                          }
                                        ],
                                        "id": 7281,
                                        "name": "Assignment",
                                        "src": "7248:77:21"
                                      }
                                    ],
                                    "id": 7282,
                                    "name": "ExpressionStatement",
                                    "src": "7248:77:21"
                                  },
                                  {
                                    "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,
                                              "type": "bytes32"
                                            },
                                            "children": [
                                              {
                                                "attributes": {
                                                  "argumentTypes": null,
                                                  "isConstant": false,
                                                  "isLValue": true,
                                                  "isPure": false,
                                                  "lValueRequested": false,
                                                  "member_name": "voteToRemoveParams",
                                                  "referencedDeclaration": 6972,
                                                  "type": "mapping(address => bytes32)"
                                                },
                                                "children": [
                                                  {
                                                    "attributes": {
                                                      "argumentTypes": null,
                                                      "isConstant": false,
                                                      "isLValue": true,
                                                      "isPure": false,
                                                      "lValueRequested": false,
                                                      "type": "struct GlobalConstraintRegistrar.Organization storage ref"
                                                    },
                                                    "children": [
                                                      {
                                                        "attributes": {
                                                          "argumentTypes": null,
                                                          "overloadedDeclarations": [
                                                            null
                                                          ],
                                                          "referencedDeclaration": 6977,
                                                          "type": "mapping(address => struct GlobalConstraintRegistrar.Organization storage ref)",
                                                          "value": "organizationsData"
                                                        },
                                                        "id": 7283,
                                                        "name": "Identifier",
                                                        "src": "7343:17:21"
                                                      },
                                                      {
                                                        "attributes": {
                                                          "argumentTypes": null,
                                                          "overloadedDeclarations": [
                                                            null
                                                          ],
                                                          "referencedDeclaration": 7221,
                                                          "type": "address",
                                                          "value": "_avatar"
                                                        },
                                                        "id": 7284,
                                                        "name": "Identifier",
                                                        "src": "7361:7:21"
                                                      }
                                                    ],
                                                    "id": 7285,
                                                    "name": "IndexAccess",
                                                    "src": "7343:26:21"
                                                  }
                                                ],
                                                "id": 7286,
                                                "name": "MemberAccess",
                                                "src": "7343:45:21"
                                              },
                                              {
                                                "attributes": {
                                                  "argumentTypes": null,
                                                  "isConstant": false,
                                                  "isLValue": true,
                                                  "isPure": false,
                                                  "lValueRequested": false,
                                                  "member_name": "gc",
                                                  "referencedDeclaration": 6953,
                                                  "type": "address"
                                                },
                                                "children": [
                                                  {
                                                    "attributes": {
                                                      "argumentTypes": null,
                                                      "overloadedDeclarations": [
                                                        null
                                                      ],
                                                      "referencedDeclaration": 7260,
                                                      "type": "struct GlobalConstraintRegistrar.GCProposal memory",
                                                      "value": "proposal"
                                                    },
                                                    "id": 7287,
                                                    "name": "Identifier",
                                                    "src": "7389:8:21"
                                                  }
                                                ],
                                                "id": 7288,
                                                "name": "MemberAccess",
                                                "src": "7389:11:21"
                                              }
                                            ],
                                            "id": 7289,
                                            "name": "IndexAccess",
                                            "src": "7343:58:21"
                                          },
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "isConstant": false,
                                              "isLValue": true,
                                              "isPure": false,
                                              "lValueRequested": false,
                                              "member_name": "voteToRemoveParams",
                                              "referencedDeclaration": 6959,
                                              "type": "bytes32"
                                            },
                                            "children": [
                                              {
                                                "attributes": {
                                                  "argumentTypes": null,
                                                  "overloadedDeclarations": [
                                                    null
                                                  ],
                                                  "referencedDeclaration": 7260,
                                                  "type": "struct GlobalConstraintRegistrar.GCProposal memory",
                                                  "value": "proposal"
                                                },
                                                "id": 7290,
                                                "name": "Identifier",
                                                "src": "7404:8:21"
                                              }
                                            ],
                                            "id": 7291,
                                            "name": "MemberAccess",
                                            "src": "7404:27:21"
                                          }
                                        ],
                                        "id": 7292,
                                        "name": "Assignment",
                                        "src": "7343:88:21"
                                      }
                                    ],
                                    "id": 7293,
                                    "name": "ExpressionStatement",
                                    "src": "7343:88:21"
                                  }
                                ],
                                "id": 7294,
                                "name": "Block",
                                "src": "7230:218:21"
                              }
                            ],
                            "id": 7295,
                            "name": "IfStatement",
                            "src": "7198:250:21"
                          },
                          {
                            "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": 6957,
                                      "type": "uint256"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 7260,
                                          "type": "struct GlobalConstraintRegistrar.GCProposal memory",
                                          "value": "proposal"
                                        },
                                        "id": 7296,
                                        "name": "Identifier",
                                        "src": "7490:8:21"
                                      }
                                    ],
                                    "id": 7297,
                                    "name": "MemberAccess",
                                    "src": "7490:21:21"
                                  },
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "hexvalue": "32",
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "subdenomination": null,
                                      "token": "number",
                                      "type": "int_const 2",
                                      "value": "2"
                                    },
                                    "id": 7298,
                                    "name": "Literal",
                                    "src": "7515:1:21"
                                  }
                                ],
                                "id": 7299,
                                "name": "BinaryOperation",
                                "src": "7490:26:21"
                              },
                              {
                                "children": [
                                  {
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "operator": "=",
                                          "type": "bool"
                                        },
                                        "children": [
                                          {
                                            "attributes": {
                                              "argumentTypes": null,
                                              "overloadedDeclarations": [
                                                null
                                              ],
                                              "referencedDeclaration": 7243,
                                              "type": "bool",
                                              "value": "retVal"
                                            },
                                            "id": 7300,
                                            "name": "Identifier",
                                            "src": "7536:6:21"
                                          },
                                          {
                                            "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": "removeGlobalConstraint",
                                                  "referencedDeclaration": 4279,
                                                  "type": "function (address,address) external returns (bool)"
                                                },
                                                "children": [
                                                  {
                                                    "attributes": {
                                                      "argumentTypes": null,
                                                      "overloadedDeclarations": [
                                                        null
                                                      ],
                                                      "referencedDeclaration": 7250,
                                                      "type": "contract ControllerInterface",
                                                      "value": "controller"
                                                    },
                                                    "id": 7301,
                                                    "name": "Identifier",
                                                    "src": "7545:10:21"
                                                  }
                                                ],
                                                "id": 7302,
                                                "name": "MemberAccess",
                                                "src": "7545:33:21"
                                              },
                                              {
                                                "attributes": {
                                                  "argumentTypes": null,
                                                  "isConstant": false,
                                                  "isLValue": true,
                                                  "isPure": false,
                                                  "lValueRequested": false,
                                                  "member_name": "gc",
                                                  "referencedDeclaration": 6953,
                                                  "type": "address"
                                                },
                                                "children": [
                                                  {
                                                    "attributes": {
                                                      "argumentTypes": null,
                                                      "overloadedDeclarations": [
                                                        null
                                                      ],
                                                      "referencedDeclaration": 7260,
                                                      "type": "struct GlobalConstraintRegistrar.GCProposal memory",
                                                      "value": "proposal"
                                                    },
                                                    "id": 7303,
                                                    "name": "Identifier",
                                                    "src": "7579:8:21"
                                                  }
                                                ],
                                                "id": 7304,
                                                "name": "MemberAccess",
                                                "src": "7579:11:21"
                                              },
                                              {
                                                "attributes": {
                                                  "argumentTypes": null,
                                                  "overloadedDeclarations": [
                                                    null
                                                  ],
                                                  "referencedDeclaration": 7221,
                                                  "type": "address",
                                                  "value": "_avatar"
                                                },
                                                "id": 7305,
                                                "name": "Identifier",
                                                "src": "7591:7:21"
                                              }
                                            ],
                                            "id": 7306,
                                            "name": "FunctionCall",
                                            "src": "7545:54:21"
                                          }
                                        ],
                                        "id": 7307,
                                        "name": "Assignment",
                                        "src": "7536:63:21"
                                      }
                                    ],
                                    "id": 7308,
                                    "name": "ExpressionStatement",
                                    "src": "7536:63:21"
                                  }
                                ],
                                "id": 7309,
                                "name": "Block",
                                "src": "7518:98:21"
                              }
                            ],
                            "id": 7310,
                            "name": "IfStatement",
                            "src": "7486:130:21"
                          }
                        ],
                        "id": 7311,
                        "name": "Block",
                        "src": "6928:698:21"
                      }
                    ],
                    "id": 7312,
                    "name": "IfStatement",
                    "src": "6910:716:21"
                  },
                  {
                    "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 GlobalConstraintRegistrar.GCProposal storage ref"
                            },
                            "children": [
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "member_name": "proposals",
                                  "referencedDeclaration": 6968,
                                  "type": "mapping(bytes32 => struct GlobalConstraintRegistrar.GCProposal storage ref)"
                                },
                                "children": [
                                  {
                                    "attributes": {
                                      "argumentTypes": null,
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "type": "struct GlobalConstraintRegistrar.Organization storage ref"
                                    },
                                    "children": [
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 6977,
                                          "type": "mapping(address => struct GlobalConstraintRegistrar.Organization storage ref)",
                                          "value": "organizationsData"
                                        },
                                        "id": 7313,
                                        "name": "Identifier",
                                        "src": "7642:17:21"
                                      },
                                      {
                                        "attributes": {
                                          "argumentTypes": null,
                                          "overloadedDeclarations": [
                                            null
                                          ],
                                          "referencedDeclaration": 7221,
                                          "type": "address",
                                          "value": "_avatar"
                                        },
                                        "id": 7314,
                                        "name": "Identifier",
                                        "src": "7660:7:21"
                                      }
                                    ],
                                    "id": 7315,
                                    "name": "IndexAccess",
                                    "src": "7642:26:21"
                                  }
                                ],
                                "id": 7316,
                                "name": "MemberAccess",
                                "src": "7642:36:21"
                              },
                              {
                                "attributes": {
                                  "argumentTypes": null,
                                  "overloadedDeclarations": [
                                    null
                                  ],
                                  "referencedDeclaration": 7219,
                                  "type": "bytes32",
                                  "value": "_proposalId"
                                },
                                "id": 7317,
                                "name": "Identifier",
                                "src": "7679:11:21"
                              }
                            ],
                            "id": 7318,
                            "name": "IndexAccess",
                            "src": "7642:49:21"
                          }
                        ],
                        "id": 7319,
                        "name": "UnaryOperation",
                        "src": "7635:56:21"
                      }
                    ],
                    "id": 7320,
                    "name": "ExpressionStatement",
                    "src": "7635:56:21"
                  },
                  {
                    "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": 6945,
                              "type": "function (address,bytes32)",
                              "value": "ProposalExecuted"
                            },
                            "id": 7321,
                            "name": "Identifier",
                            "src": "7701:16:21"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 7221,
                              "type": "address",
                              "value": "_avatar"
                            },
                            "id": 7322,
                            "name": "Identifier",
                            "src": "7718:7:21"
                          },
                          {
                            "attributes": {
                              "argumentTypes": null,
                              "overloadedDeclarations": [
                                null
                              ],
                              "referencedDeclaration": 7219,
                              "type": "bytes32",
                              "value": "_proposalId"
                            },
                            "id": 7323,
                            "name": "Identifier",
                            "src": "7727:11:21"
                          }
                        ],
                        "id": 7324,
                        "name": "FunctionCall",
                        "src": "7701:38:21"
                      }
                    ],
                    "id": 7325,
                    "name": "ExpressionStatement",
                    "src": "7701:38:21"
                  },
                  {
                    "attributes": {
                      "functionReturnParameters": 7227
                    },
                    "children": [
                      {
                        "attributes": {
                          "argumentTypes": null,
                          "overloadedDeclarations": [
                            null
                          ],
                          "referencedDeclaration": 7243,
                          "type": "bool",
                          "value": "retVal"
                        },
                        "id": 7326,
                        "name": "Identifier",
                        "src": "7756:6:21"
                      }
                    ],
                    "id": 7327,
                    "name": "Return",
                    "src": "7749:13:21"
                  }
                ],
                "id": 7328,
                "name": "Block",
                "src": "6675:1094:21"
              }
            ],
            "id": 7329,
            "name": "FunctionDefinition",
            "src": "6585:1184:21"
          }
        ],
        "id": 7330,
        "name": "ContractDefinition",
        "src": "254:7517:21"
      }
    ],
    "id": 7331,
    "name": "SourceUnit",
    "src": "0:7772:21"
  },
  "compiler": {
    "name": "solc",
    "version": "0.4.18+commit.9cf6e910.Emscripten.clang"
  },
  "networks": {
    "1516886047983": {
      "events": {},
      "links": {},
      "address": "0xce15baa48e4536653cec6812cd76ad592c856c05"
    }
  },
  "schemaVersion": "1.0.1",
  "updatedAt": "2018-01-25T13:15:04.361Z"
}