{
    "contractName": "Vault",
    "abi": [
        {
            "constant": true,
            "inputs": [
                {
                    "name": "",
                    "type": "address"
                },
                {
                    "name": "",
                    "type": "address"
                },
                {
                    "name": "",
                    "type": "uint256"
                }
            ],
            "name": "userSnapshots",
            "outputs": [
                {
                    "name": "timestamp",
                    "type": "uint256"
                },
                {
                    "name": "balance",
                    "type": "uint256"
                }
            ],
            "payable": false,
            "stateMutability": "view",
            "type": "function"
        },
        {
            "constant": false,
            "inputs": [],
            "name": "renounceOwnership",
            "outputs": [],
            "payable": false,
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "constant": true,
            "inputs": [],
            "name": "owner",
            "outputs": [
                {
                    "name": "",
                    "type": "address"
                }
            ],
            "payable": false,
            "stateMutability": "view",
            "type": "function"
        },
        {
            "constant": true,
            "inputs": [],
            "name": "isOwner",
            "outputs": [
                {
                    "name": "",
                    "type": "bool"
                }
            ],
            "payable": false,
            "stateMutability": "view",
            "type": "function"
        },
        {
            "constant": false,
            "inputs": [
                {
                    "name": "sender",
                    "type": "address"
                }
            ],
            "name": "initialize",
            "outputs": [],
            "payable": false,
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "constant": false,
            "inputs": [
                {
                    "name": "newOwner",
                    "type": "address"
                }
            ],
            "name": "transferOwnership",
            "outputs": [],
            "payable": false,
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "inputs": [],
            "payable": false,
            "stateMutability": "nonpayable",
            "type": "constructor"
        },
        {
            "anonymous": false,
            "inputs": [
                {
                    "indexed": false,
                    "name": "creator",
                    "type": "bytes32"
                },
                {
                    "indexed": false,
                    "name": "participant",
                    "type": "bytes32"
                }
            ],
            "name": "NewParticipant",
            "type": "event"
        },
        {
            "anonymous": false,
            "inputs": [
                {
                    "indexed": false,
                    "name": "creator",
                    "type": "bytes32"
                },
                {
                    "indexed": false,
                    "name": "participant",
                    "type": "bytes32"
                },
                {
                    "indexed": false,
                    "name": "txid",
                    "type": "uint256"
                }
            ],
            "name": "NewTransaction",
            "type": "event"
        },
        {
            "anonymous": false,
            "inputs": [
                {
                    "indexed": false,
                    "name": "creator",
                    "type": "bytes32"
                },
                {
                    "indexed": false,
                    "name": "participant",
                    "type": "bytes32"
                },
                {
                    "indexed": false,
                    "name": "txid",
                    "type": "uint256"
                }
            ],
            "name": "SignTransaction",
            "type": "event"
        },
        {
            "anonymous": false,
            "inputs": [
                {
                    "indexed": false,
                    "name": "creator",
                    "type": "bytes32"
                },
                {
                    "indexed": false,
                    "name": "participant",
                    "type": "bytes32"
                },
                {
                    "indexed": false,
                    "name": "confirmation",
                    "type": "bool"
                }
            ],
            "name": "SignResponse",
            "type": "event"
        },
        {
            "anonymous": false,
            "inputs": [
                {
                    "indexed": true,
                    "name": "platform",
                    "type": "address"
                },
                {
                    "indexed": false,
                    "name": "collection",
                    "type": "uint256"
                },
                {
                    "indexed": false,
                    "name": "timestamp",
                    "type": "uint256"
                }
            ],
            "name": "feecollection",
            "type": "event"
        },
        {
            "anonymous": false,
            "inputs": [
                {
                    "indexed": false,
                    "name": "total",
                    "type": "uint256"
                },
                {
                    "indexed": false,
                    "name": "count",
                    "type": "uint256"
                }
            ],
            "name": "totalCount",
            "type": "event"
        },
        {
            "anonymous": false,
            "inputs": [
                {
                    "indexed": false,
                    "name": "fees",
                    "type": "uint256"
                },
                {
                    "indexed": false,
                    "name": "totalCount",
                    "type": "uint256"
                },
                {
                    "indexed": false,
                    "name": "custodyfee",
                    "type": "uint256"
                }
            ],
            "name": "avgBalance",
            "type": "event"
        },
        {
            "anonymous": false,
            "inputs": [
                {
                    "indexed": true,
                    "name": "previousOwner",
                    "type": "address"
                },
                {
                    "indexed": true,
                    "name": "newOwner",
                    "type": "address"
                }
            ],
            "name": "OwnershipTransferred",
            "type": "event"
        },
        {
            "constant": false,
            "inputs": [
                {
                    "name": "_nominee",
                    "type": "address"
                }
            ],
            "name": "setDistributor",
            "outputs": [],
            "payable": false,
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "constant": false,
            "inputs": [
                {
                    "name": "_fee",
                    "type": "uint256"
                }
            ],
            "name": "setCustodyFee",
            "outputs": [],
            "payable": false,
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "constant": false,
            "inputs": [
                {
                    "name": "_creator",
                    "type": "bytes32"
                },
                {
                    "name": "_id",
                    "type": "string"
                }
            ],
            "name": "createVault",
            "outputs": [],
            "payable": false,
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "constant": false,
            "inputs": [
                {
                    "name": "_creator",
                    "type": "bytes32"
                },
                {
                    "name": "_id",
                    "type": "string"
                },
                {
                    "name": "_new",
                    "type": "string"
                }
            ],
            "name": "resetPin",
            "outputs": [],
            "payable": false,
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "constant": true,
            "inputs": [],
            "name": "getVaults",
            "outputs": [
                {
                    "name": "",
                    "type": "bytes32[]"
                }
            ],
            "payable": false,
            "stateMutability": "view",
            "type": "function"
        },
        {
            "constant": false,
            "inputs": [
                {
                    "name": "_creator",
                    "type": "bytes32"
                },
                {
                    "name": "_id",
                    "type": "string"
                },
                {
                    "name": "_transferee",
                    "type": "address"
                }
            ],
            "name": "transferVault",
            "outputs": [],
            "payable": false,
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "constant": true,
            "inputs": [
                {
                    "name": "_creator",
                    "type": "bytes32"
                },
                {
                    "name": "_pin",
                    "type": "string"
                }
            ],
            "name": "getCreator",
            "outputs": [
                {
                    "name": "",
                    "type": "string"
                }
            ],
            "payable": false,
            "stateMutability": "view",
            "type": "function"
        },
        {
            "constant": false,
            "inputs": [
                {
                    "name": "_creator",
                    "type": "bytes32"
                },
                {
                    "name": "_id",
                    "type": "string"
                },
                {
                    "name": "_participant",
                    "type": "bytes32"
                },
                {
                    "name": "_shard",
                    "type": "string"
                }
            ],
            "name": "addParticipant",
            "outputs": [],
            "payable": false,
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "constant": false,
            "inputs": [
                {
                    "name": "_creator",
                    "type": "bytes32"
                },
                {
                    "name": "_id",
                    "type": "string"
                },
                {
                    "name": "_participant",
                    "type": "bytes32"
                }
            ],
            "name": "removeParticipant",
            "outputs": [],
            "payable": false,
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "constant": false,
            "inputs": [
                {
                    "name": "_creator",
                    "type": "bytes32"
                },
                {
                    "name": "_id",
                    "type": "string"
                },
                {
                    "name": "_participant",
                    "type": "bytes32"
                },
                {
                    "name": "_pin",
                    "type": "string"
                },
                {
                    "name": "_confirmation",
                    "type": "bool"
                }
            ],
            "name": "confirmParticipant",
            "outputs": [],
            "payable": false,
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "constant": false,
            "inputs": [
                {
                    "name": "_creator",
                    "type": "bytes32"
                },
                {
                    "name": "_id",
                    "type": "string"
                },
                {
                    "name": "_minParticipants",
                    "type": "uint256"
                }
            ],
            "name": "defineQuorum",
            "outputs": [],
            "payable": false,
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "constant": true,
            "inputs": [
                {
                    "name": "_creator",
                    "type": "bytes32"
                },
                {
                    "name": "_id",
                    "type": "string"
                }
            ],
            "name": "getQuorum",
            "outputs": [
                {
                    "name": "",
                    "type": "uint256"
                }
            ],
            "payable": false,
            "stateMutability": "view",
            "type": "function"
        },
        {
            "constant": false,
            "inputs": [
                {
                    "name": "_creator",
                    "type": "bytes32"
                },
                {
                    "name": "_id",
                    "type": "string"
                }
            ],
            "name": "promptSignatures",
            "outputs": [],
            "payable": false,
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "constant": false,
            "inputs": [
                {
                    "name": "_creator",
                    "type": "bytes32"
                },
                {
                    "name": "_id",
                    "type": "string"
                },
                {
                    "name": "_participant",
                    "type": "bytes32"
                },
                {
                    "name": "_tx",
                    "type": "uint256"
                },
                {
                    "name": "_pin",
                    "type": "string"
                }
            ],
            "name": "signTransaction",
            "outputs": [],
            "payable": false,
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "constant": true,
            "inputs": [
                {
                    "name": "_creator",
                    "type": "bytes32"
                },
                {
                    "name": "_id",
                    "type": "string"
                },
                {
                    "name": "_participant",
                    "type": "bytes32"
                },
                {
                    "name": "_txid",
                    "type": "uint256"
                }
            ],
            "name": "checkQuorum",
            "outputs": [
                {
                    "name": "",
                    "type": "bool"
                }
            ],
            "payable": false,
            "stateMutability": "view",
            "type": "function"
        },
        {
            "constant": true,
            "inputs": [
                {
                    "name": "_creator",
                    "type": "bytes32"
                },
                {
                    "name": "_id",
                    "type": "string"
                },
                {
                    "name": "_txid",
                    "type": "uint256"
                }
            ],
            "name": "getShards",
            "outputs": [
                {
                    "name": "",
                    "type": "string[]"
                }
            ],
            "payable": false,
            "stateMutability": "view",
            "type": "function"
        },
        {
            "constant": false,
            "inputs": [
                {
                    "name": "_creator",
                    "type": "bytes32"
                },
                {
                    "name": "_id",
                    "type": "string"
                },
                {
                    "name": "token",
                    "type": "address"
                }
            ],
            "name": "snapshotBalance",
            "outputs": [],
            "payable": false,
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "constant": false,
            "inputs": [
                {
                    "name": "_creator",
                    "type": "bytes32"
                },
                {
                    "name": "_id",
                    "type": "string"
                },
                {
                    "name": "token",
                    "type": "address"
                },
                {
                    "name": "fromTime",
                    "type": "uint256"
                },
                {
                    "name": "toTime",
                    "type": "uint256"
                }
            ],
            "name": "calculateAverageBalance",
            "outputs": [],
            "payable": false,
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "constant": false,
            "inputs": [
                {
                    "name": "_token",
                    "type": "address"
                }
            ],
            "name": "collectCustodyFee",
            "outputs": [
                {
                    "name": "",
                    "type": "uint256"
                }
            ],
            "payable": false,
            "stateMutability": "nonpayable",
            "type": "function"
        }
    ],
    "metadata": "{\"compiler\":{\"version\":\"0.5.7+commit.6da8b019\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":false,\"inputs\":[{\"name\":\"_creator\",\"type\":\"bytes32\"},{\"name\":\"_id\",\"type\":\"string\"},{\"name\":\"_participant\",\"type\":\"bytes32\"},{\"name\":\"_tx\",\"type\":\"uint256\"},{\"name\":\"_pin\",\"type\":\"string\"}],\"name\":\"signTransaction\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_fee\",\"type\":\"uint256\"}],\"name\":\"setCustodyFee\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_creator\",\"type\":\"bytes32\"},{\"name\":\"_id\",\"type\":\"string\"},{\"name\":\"_participant\",\"type\":\"bytes32\"}],\"name\":\"removeParticipant\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_token\",\"type\":\"address\"}],\"name\":\"collectCustodyFee\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"address\"},{\"name\":\"\",\"type\":\"address\"},{\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"userSnapshots\",\"outputs\":[{\"name\":\"timestamp\",\"type\":\"uint256\"},{\"name\":\"balance\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getVaults\",\"outputs\":[{\"name\":\"\",\"type\":\"bytes32[]\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_creator\",\"type\":\"bytes32\"},{\"name\":\"_id\",\"type\":\"string\"}],\"name\":\"getQuorum\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_nominee\",\"type\":\"address\"}],\"name\":\"setDistributor\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_creator\",\"type\":\"bytes32\"},{\"name\":\"_pin\",\"type\":\"string\"}],\"name\":\"getCreator\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_creator\",\"type\":\"bytes32\"},{\"name\":\"_id\",\"type\":\"string\"},{\"name\":\"_participant\",\"type\":\"bytes32\"},{\"name\":\"_txid\",\"type\":\"uint256\"}],\"name\":\"checkQuorum\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_creator\",\"type\":\"bytes32\"},{\"name\":\"_id\",\"type\":\"string\"},{\"name\":\"_participant\",\"type\":\"bytes32\"},{\"name\":\"_pin\",\"type\":\"string\"},{\"name\":\"_confirmation\",\"type\":\"bool\"}],\"name\":\"confirmParticipant\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_creator\",\"type\":\"bytes32\"},{\"name\":\"_id\",\"type\":\"string\"},{\"name\":\"_participant\",\"type\":\"bytes32\"},{\"name\":\"_shard\",\"type\":\"string\"}],\"name\":\"addParticipant\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_creator\",\"type\":\"bytes32\"},{\"name\":\"_id\",\"type\":\"string\"}],\"name\":\"createVault\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"isOwner\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_creator\",\"type\":\"bytes32\"},{\"name\":\"_id\",\"type\":\"string\"},{\"name\":\"_txid\",\"type\":\"uint256\"}],\"name\":\"getShards\",\"outputs\":[{\"name\":\"\",\"type\":\"string[]\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_creator\",\"type\":\"bytes32\"},{\"name\":\"_id\",\"type\":\"string\"},{\"name\":\"token\",\"type\":\"address\"}],\"name\":\"snapshotBalance\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_creator\",\"type\":\"bytes32\"},{\"name\":\"_id\",\"type\":\"string\"},{\"name\":\"token\",\"type\":\"address\"},{\"name\":\"fromTime\",\"type\":\"uint256\"},{\"name\":\"toTime\",\"type\":\"uint256\"}],\"name\":\"calculateAverageBalance\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_creator\",\"type\":\"bytes32\"},{\"name\":\"_id\",\"type\":\"string\"}],\"name\":\"promptSignatures\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_creator\",\"type\":\"bytes32\"},{\"name\":\"_id\",\"type\":\"string\"},{\"name\":\"_transferee\",\"type\":\"address\"}],\"name\":\"transferVault\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_creator\",\"type\":\"bytes32\"},{\"name\":\"_id\",\"type\":\"string\"},{\"name\":\"_minParticipants\",\"type\":\"uint256\"}],\"name\":\"defineQuorum\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_creator\",\"type\":\"bytes32\"},{\"name\":\"_id\",\"type\":\"string\"},{\"name\":\"_new\",\"type\":\"string\"}],\"name\":\"resetPin\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"creator\",\"type\":\"bytes32\"},{\"indexed\":false,\"name\":\"participant\",\"type\":\"bytes32\"}],\"name\":\"NewParticipant\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"creator\",\"type\":\"bytes32\"},{\"indexed\":false,\"name\":\"participant\",\"type\":\"bytes32\"},{\"indexed\":false,\"name\":\"txid\",\"type\":\"uint256\"}],\"name\":\"NewTransaction\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"creator\",\"type\":\"bytes32\"},{\"indexed\":false,\"name\":\"participant\",\"type\":\"bytes32\"},{\"indexed\":false,\"name\":\"txid\",\"type\":\"uint256\"}],\"name\":\"SignTransaction\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"creator\",\"type\":\"bytes32\"},{\"indexed\":false,\"name\":\"participant\",\"type\":\"bytes32\"},{\"indexed\":false,\"name\":\"confirmation\",\"type\":\"bool\"}],\"name\":\"SignResponse\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"platform\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"collection\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"timestamp\",\"type\":\"uint256\"}],\"name\":\"feecollection\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"total\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"count\",\"type\":\"uint256\"}],\"name\":\"totalCount\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"fees\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"totalCount\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"custodyfee\",\"type\":\"uint256\"}],\"name\":\"avgBalance\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"}],\"devdoc\":{\"methods\":{\"addParticipant(bytes32,string,bytes32,string)\":{\"params\":{\"_creator\":\"vault creator's username, eg creator@email.com\\r\",\"_id\":\"vault creator's unique id using which it can be reached, eg, its Google/APNS token\\r\",\"_participant\":\"vault participant's username, eg participant@email.com\\r\",\"_shard\":\"the private key shard of the participant\\r\"}},\"calculateAverageBalance(bytes32,string,address,uint256,uint256)\":{\"params\":{\"_creator\":\"vault creator's username, eg creator@email.com\\r\",\"_id\":\"vault creator's unique id using which it can be reached, eg, its Google/APNS token\\r\",\"fromTime\":\"time to start calculating token balance from\\r\",\"toTime\":\"time to end calculating token balance \\r\",\"token\":\"token address\\r\"}},\"checkQuorum(bytes32,string,bytes32,uint256)\":{\"params\":{\"_creator\":\"vault creator's username, eg creator@email.com\\r\",\"_id\":\"vault creator's unique id using which it can be reached, eg, its Google/APNS token\\r\",\"_participant\":\"vault participant's username, eg participant@email.com\\r\",\"_txid\":\"transaction identifier\\r\"}},\"collectCustodyFee(address)\":{\"params\":{\"_token\":\"vault creator's username, eg creator@email.com\\r\"}},\"confirmParticipant(bytes32,string,bytes32,string,bool)\":{\"params\":{\"_confirmation\":\"true or false\\r\",\"_creator\":\"the vault's creator (eg, creator@email.com)\\r\",\"_id\":\"vault creator's unique id using which it can be reached, eg, its Google/APNS token\\r\",\"_participant\":\"the vault's participant (eg, participant@email.com)\\r\",\"_pin\":\"the PIN number of the participant\\r\"}},\"createVault(bytes32,string)\":{\"params\":{\"_creator\":\"vault creator's username, eg, creator@email.com\\r\",\"_id\":\"vault creator's unique id using which it can be reached, eg, its Google/APNS token\\r\"}},\"defineQuorum(bytes32,string,uint256)\":{\"params\":{\"_creator\":\"the vault's creator (eg, creator@email.com)\\r\",\"_id\":\"vault creator's unique id using which it can be reached, eg, its Google/APNS token\\r\",\"_minParticipants\":\"the minimum number of co-signers\\r\"}},\"getCreator(bytes32,string)\":{\"params\":{\"_creator\":\"the vault creator (eg, creator@email.com)\\r\"},\"return\":\"the vault creator's unique ID\\r\"},\"getQuorum(bytes32,string)\":{\"params\":{\"_creator\":\"the vault's creator (eg, creator@email.com)\\r\",\"_id\":\"vault creator's unique id using which it can be reached, eg, its Google/APNS token\\r\"}},\"getShards(bytes32,string,uint256)\":{\"params\":{\"_creator\":\"vault creator's username, eg creator@email.com\\r\",\"_id\":\"vault creator's unique id using which it can be reached, eg, its Google/APNS token\\r\",\"_txid\":\"transaction identifier \\r\"}},\"initialize(address)\":{\"details\":\"Initializes the contract setting the deployer as the initial owner.\"},\"isOwner()\":{\"details\":\"Returns true if the caller is the current owner.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"promptSignatures(bytes32,string)\":{\"params\":{\"_creator\":\"the vault's creator (eg, creator@email.com)\\r\",\"_id\":\"vault creator's unique id using which it can be reached, eg, its Google/APNS token\\r\"}},\"removeParticipant(bytes32,string,bytes32)\":{\"params\":{\"_creator\":\"vault creator's username, eg creator@email.com\\r\",\"_id\":\"vault creator's unique id using which it can be reached, eg, its Google/APNS token\\r\",\"_participant\":\"vault participant's username, eg participant@email.com\\r\"}},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner.     * > Note: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner.\"},\"resetPin(bytes32,string,string)\":{\"params\":{\"_creator\":\"the vault's creator (eg, creator@email.com)\\r\",\"_id\":\"vault creator's unique id using which it can be reached, eg, its Google/APNS token\\r\",\"_new\":\"vault creator's new unique id\\r\"}},\"signTransaction(bytes32,string,bytes32,uint256,string)\":{\"params\":{\"_creator\":\"the vault's creator (eg, creator@email.com)\\r\",\"_id\":\"vault creator's unique id using which it can be reached, eg, its Google/APNS token\\r\",\"_participant\":\"the vault's participant (eg, participant@email.com)\\r\",\"_pin\":\"the PIN number of the signer (participant)\\r\",\"_tx\":\"transaction identifier\\r\"}},\"snapshotBalance(bytes32,string,address)\":{\"params\":{\"_creator\":\"vault creator's username, eg creator@email.com\\r\",\"_id\":\"vault creator's unique id using which it can be reached, eg, its Google/APNS token\\r\",\"token\":\"token address\\r\"}},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"transferVault(bytes32,string,address)\":{\"params\":{\"_creator\":\"vault to transfer\\r\",\"_id\":\"vault creator's unique id using which it can be reached, eg, its Google/APNS token\\r\",\"_transferee\":\"address of the new vault operator\\r\"}}}},\"userdoc\":{\"methods\":{\"addParticipant(bytes32,string,bytes32,string)\":{\"notice\":\"This function adds a participant to a vault that belongs to its creator\\r\"},\"calculateAverageBalance(bytes32,string,address,uint256,uint256)\":{\"notice\":\"This function calculates the average balance for a user and a token\\r\"},\"checkQuorum(bytes32,string,bytes32,uint256)\":{\"notice\":\"This function lets the creator check if quorum has been achieved for a particular transaction\\r\"},\"collectCustodyFee(address)\":{\"notice\":\"This function gets the shard for a participant\\r\"},\"confirmParticipant(bytes32,string,bytes32,string,bool)\":{\"notice\":\"This function confirms a participant in the vault when the participant sends its private key shard and PIN\\r\"},\"createVault(bytes32,string)\":{\"notice\":\"This function creates a vault for the creator\\r\"},\"defineQuorum(bytes32,string,uint256)\":{\"notice\":\"This function defines the number of participants required to co-sign a transaction\\r\"},\"getCreator(bytes32,string)\":{\"notice\":\"This function returns the vault creator's unique ID (eg, Google/APNS messaging token)\\r\"},\"getQuorum(bytes32,string)\":{\"notice\":\"This function retrieves the number of participants required to co-sign a transaction\\r\"},\"getShards(bytes32,string,uint256)\":{\"notice\":\"This function gets the shard for a participant\\r\"},\"getVaults()\":{\"notice\":\"This function returns list of vault creators\\r\"},\"promptSignatures(bytes32,string)\":{\"notice\":\"This function prompts participants to co-sign a transaction on the vault (ie, the creator's address secured by the quorum of participants)\\r\"},\"removeParticipant(bytes32,string,bytes32)\":{\"notice\":\"This function removes a participant in a vault that belongs to its creator\\r\"},\"resetPin(bytes32,string,string)\":{\"notice\":\"This function resets the vault owner's unique id\\r\"},\"signTransaction(bytes32,string,bytes32,uint256,string)\":{\"notice\":\"This function lets a participant co-sign a transaction\\r\"},\"snapshotBalance(bytes32,string,address)\":{\"notice\":\"This function takes a snapshot of the token balance for the user\\r\"},\"transferVault(bytes32,string,address)\":{\"notice\":\"This function transfers a vault from the transferor (msg.sender) to transferee\\r\"}}}},\"settings\":{\"compilationTarget\":{\"project:/contracts/Vault.sol\":\"Vault\"},\"evmVersion\":\"petersburg\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-ethereum-package/contracts/GSN/Context.sol\":{\"keccak256\":\"0x3491510fa4862af1a43f6c860d9cf7392240196540cd3c0eea79d374d419c5a1\",\"urls\":[\"bzzr://5cddbf3b74b775a8670757a6b8e108dac17dac20253f35f4c729e9cb6bea4ed3\"]},\"@openzeppelin/contracts-ethereum-package/contracts/ownership/Ownable.sol\":{\"keccak256\":\"0xd7e8ab76fa35c4d8d35a06a6ed538cadab8b75a1aa00594ced1568b2c0cadde3\",\"urls\":[\"bzzr://b4c855b32d75f2a4969bfbd530b6934b69f12f28584b3746967e1ca64e024bd9\"]},\"@openzeppelin/contracts-ethereum-package/contracts/token/ERC20/ERC20Detailed.sol\":{\"keccak256\":\"0x704e0cb521f0b571096a72266a34d9a2a59a89853b5b271bc97fa307a4cc4dcc\",\"urls\":[\"bzzr://e52d3aae99e2faee616840b10037346e8fe91e72a457784050605cf9e130abb9\"]},\"@openzeppelin/contracts-ethereum-package/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe5bb0f57cff3e299f360052ba50f1ea0fff046df2be070b6943e0e3c3fdad8a9\",\"urls\":[\"bzzr://cf2d583b8dce38d0617fdcd65f2fd9f126fe17b7f683b5a515ea9d2762d8b062\"]},\"@openzeppelin/upgrades/contracts/Initializable.sol\":{\"keccak256\":\"0x9bfec92e36234ecc99b5d37230acb6cd1f99560233753162204104a4897e8721\",\"urls\":[\"bzzr://f75d88b16fe25a9e19b3512691c496e2bb6d8451bc9a636196c4e17ca9b40201\"]},\"project:/contracts/IVault.sol\":{\"keccak256\":\"0xd1089783090bf846d1937d16fcbc8ecbdb72d750909e3f922b665c7ff27e9d87\",\"urls\":[\"bzzr://89fcd836da883dc7061e4cffabd021a575a2cf35d0df1888a9a0b2d56a0319e0\"]},\"project:/contracts/Vault.sol\":{\"keccak256\":\"0x4676acef8935c2883bce951bb5a051dedfa9a9cb4f6a0e3d1fd42ddb059c5df1\",\"urls\":[\"bzzr://92dd126d873883c6c6f547d73be04f56bc0d12375e213dd3e011e689e1bcebe5\"]},\"project:/contracts/math/FixedPoint.sol\":{\"keccak256\":\"0x5e00c4dc62498b0f400435a2222d8362f19d9f3e60284ea2f38f61a2f64b7007\",\"urls\":[\"bzzr://b18526cc790123f16e970c5a271e71dbafe1479565909febb454dddf4af15a51\"]},\"project:/contracts/math/LogExpMath.sol\":{\"keccak256\":\"0xe8078460aae016460645c05a09602a8021473127853de5e0910138b885b53471\",\"urls\":[\"bzzr://edec9b90a5f598c7fa82fca8c96de4619e95eb3229b8ca3ecc28cc3bed8f204a\"]},\"project:/contracts/math/Math.sol\":{\"keccak256\":\"0x5eb7554e397359fb9978cfcadee54186bb93aa936a8682371238aeecf4a28c9c\",\"urls\":[\"bzzr://69e0df7b3508fe564f053ef0ab1900b96855d59a26b3f74a3bb15e1251e88adf\"]}},\"version\":1}",
    "bytecode": "0x60806040523480156200001157600080fd5b5062000028336200004060201b62001b3a1760201c565b606680546001600160a01b03191633179055620001cd565b600054610100900460ff1680620000625750620000626200014560201b60201c565b8062000071575060005460ff16155b620000b3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620000aa90620001ac565b60405180910390fd5b600054610100900460ff16158015620000df576000805460ff1961ff0019909116610100171660011790555b603380546001600160a01b0319166001600160a01b0384811691909117918290556040519116906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3801562000141576000805461ff00191690555b5050565b303b1590565b60006200015a602e83620001c4565b7f436f6e747261637420696e7374616e63652068617320616c726561647920626581527f656e20696e697469616c697a6564000000000000000000000000000000000000602082015260400192915050565b60208082528101620001be816200014b565b92915050565b90815260200190565b61336980620001dd6000396000f3fe608060405234801561001057600080fd5b50600436106101735760003560e01c806388a563a7116100de578063bd09fa0e11610097578063dbcc0ef611610071578063dbcc0ef614610342578063e70eedb014610355578063f2fde38b14610368578063f4f331111461037b57610173565b8063bd09fa0e14610309578063c4d66de81461031c578063d29da2a71461032f57610173565b806388a563a7146102935780638c4b3bcd146102a65780638da5cb5b146102b95780638f32d59b146102ce578063b418cd88146102d6578063b73a9929146102f657610173565b80634540dbf4116101305780634540dbf414610212578063715018a61461022557806375619ab51461022d578063771800801461024057806378632fb2146102605780637c52c77a1461028057610173565b806320ffb7fb146101785780632c5e772f1461018d5780633136abd3146101a05780633dbcc3e0146101b3578063424559b8146101dc57806344d00f82146101fd575b600080fd5b61018b6101863660046129d7565b61038e565b005b61018b61019b366004612b08565b610676565b61018b6101ae3660046127ba565b6106ab565b6101c66101c13660046125dc565b6107fd565b6040516101d39190613284565b60405180910390f35b6101ef6101ea366004612602565b610936565b6040516101d3929190613152565b61020561097d565b6040516101d39190613122565b6101c661022036600461266d565b6109df565b61018b610aa8565b61018b61023b3660046125dc565b610b19565b61025361024e36600461266d565b610b6b565b6040516101d391906131a3565b61027361026e36600461295a565b610cbe565b6040516101d39190613144565b61018b61028e3660046128ae565b610f01565b61018b6102a1366004612817565b61107d565b61018b6102b436600461266d565b61128a565b6102c1611314565b6040516101d391906130c3565b610273611323565b6102e96102e43660046127ba565b611349565b6040516101d39190613133565b61018b6103043660046126c2565b61165d565b61018b61031736600461272b565b6117f3565b61018b61032a3660046125dc565b611b3a565b61018b61033d36600461266d565b611c10565b61018b6103503660046126c2565b611e0a565b61018b6103633660046127ba565b611f8f565b61018b6103763660046125dc565b612058565b61018b610389366004612a83565b61208b565b8386868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250506040516103d692508391506020016130a0565b60408051601f1981840301815282825280516020918201206000868152606a83529290922091926104089291016130ac565b604051602081830303815290604052805190602001201461044757604051600160e51b62461bcd02815260040161043e90613264565b60405180910390fd5b838360405160200161045a929190613093565b60408051601f19818403018152828252805160209182012060008d8152606d83528381208b825283529290922091926104949291016130ac565b60405160208183030381529060405280519060200120146104b457600080fd5b60005b60008a81526070602052604090205481101561066a5760008a81526070602052604090208054879190839081106104ea57fe5b90600052602060002090600202016000015414156106625760005b60008b815260706020526040902080548390811061051f57fe5b9060005260206000209060020201600101805490508110156106255760008b815260706020526040902080548991908490811061055857fe5b9060005260206000209060020201600101828154811061057457fe5b9060005260206000200154141561058a57610625565b60008b81526070602052604090208054839081106105a457fe5b906000526020600020906002020160010181815481106105c057fe5b90600052602060002001546000141561061d5760008b81526070602052604090208054899190849081106105f057fe5b9060005260206000209060020201600101828154811061060c57fe5b600091825260209091200155610625565b600101610505565b507faff273650e3a4ea06a9841f55dd08ea83018f0c09836f109ccba14823e59de478a888860405161065993929190613188565b60405180910390a15b6001016104b7565b50505050505050505050565b60665433906001600160a01b031681146106a557604051600160e51b62461bcd02815260040161043e906131c4565b50606755565b8383838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250506040516106f392508391506020016130a0565b60408051601f1981840301815282825280516020918201206000868152606a83529290922091926107259291016130ac565b604051602081830303815290604052805190602001201461075b57604051600160e51b62461bcd02815260040161043e90613264565b6000868152606c60209081526040808320868452909152902054156107f5576000868152606b60209081526040808320606c835281842087855290925290912054815481106107a657fe5b60009182526020808320909101829055878252606e8152604080832086845290915281206107d39161241b565b6000868152606d6020908152604080832086845290915281206107f59161241b565b505050505050565b6066546000906001600160a01b0316331461082d57604051600160e51b62461bcd02815260040161043e906131d4565b6001600160a01b0382166000908152607260205260409020546108508180612154565b6001600160a01b0380851660008181526072602052604090819020939093556066549251600160e01b63a9059cbb028152909263a9059cbb9261089a929116908590600401613107565b602060405180830381600087803b1580156108b457600080fd5b505af11580156108c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506108ec919081019061264f565b50306001600160a01b03167feaad90c8664cdf61d60bd7ba6745a881fd1c38d9f4ff0b373b4365cdeeb0f9e88242604051610928929190613152565b60405180910390a292915050565b6071602052826000526040600020602052816000526040600020818154811061095b57fe5b6000918252602090912060029091020180546001909101549093509150839050565b336000908152606960209081526040918290208054835181840281018401909452808452606093928301828280156109d457602002820191906000526020600020905b8154815260200190600101908083116109c0575b505050505090505b90565b60008383838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604051610a2992508391506020016130a0565b60408051601f1981840301815282825280516020918201206000868152606a8352929092209192610a5b9291016130ac565b6040516020818303038152906040528051906020012014610a9157604051600160e51b62461bcd02815260040161043e90613264565b50505060009283525050606f602052604090205490565b610ab0611323565b610acf57604051600160e51b62461bcd02815260040161043e906131f4565b6033546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3603380546001600160a01b0319169055565b60665433906001600160a01b03168114610b4857604051600160e51b62461bcd02815260040161043e906131c4565b50606680546001600160a01b0319166001600160a01b0392909216919091179055565b6000838152606b6020526040902054606090610b9c57604051600160e51b62461bcd02815260040161043e90613244565b8282604051602001610baf929190613093565b60408051601f1981840301815282825280516020918201206000888152606d83528381208352929092209192610be69291016130ac565b6040516020818303038152906040528051906020012014610c1c57604051600160e51b62461bcd02815260040161043e90613254565b6000848152606a602090815260409182902080548351601f600260001961010060018616150201909316929092049182018490048402810184019094528084529091830182828015610caf5780601f10610c8457610100808354040283529160200191610caf565b820191906000526020600020905b815481529060010190602001808311610c9257829003601f168201915b505050505090505b9392505050565b60008585858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604051610d0892508391506020016130a0565b60408051601f1981840301815282825280516020918201206000868152606a8352929092209192610d3a9291016130ac565b6040516020818303038152906040528051906020012014610d7057604051600160e51b62461bcd02815260040161043e90613264565b604051602001610d7f906130b8565b60408051601f19818403018152828252805160209182012060008c8152606d83528381208a82528352929092209192610db99291016130ac565b604051602081830303815290604052805190602001201415610dda57600080fd5b6000805b60008a815260706020526040902054811015610edf5760008a8152607060205260409020805487919083908110610e1157fe5b9060005260206000209060020201600001541415610ed7576000805b60008c8152607060205260409020805484908110610e4757fe5b906000526020600020906002020160010180549050811015610eba5760008c8152607060205260409020805484908110610e7d57fe5b90600052602060002090600202016001018181548110610e9957fe5b9060005260206000200154600014610eb2576001909101905b600101610e2d565b5060008b8152606f60205260409020548110610ed557600192505b505b600101610dde565b508015610ef0576001935050610ef6565b60009350505b505095945050505050565b8386868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604051610f4992508391506020016130a0565b60408051601f1981840301815282825280516020918201206000868152606a8352929092209192610f7b9291016130ac565b6040516020818303038152906040528051906020012014610fb157604051600160e51b62461bcd02815260040161043e90613264565b6000898152606b6020526040902054610fc957600080fd5b8215611035576000898152606d602090815260408083208984529091529020610ff390868661245f565b507f5472b7fef042e64eae80068ace4f2e4134b2b13f9f86ac9ae86640bae2b903068987600160405161102893929190613160565b60405180910390a1611072565b7f5472b7fef042e64eae80068ace4f2e4134b2b13f9f86ac9ae86640bae2b903068987600060405161106993929190613160565b60405180910390a15b505050505050505050565b8585858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250506040516110c592508391506020016130a0565b60408051601f1981840301815282825280516020918201206000868152606a83529290922091926110f79291016130ac565b604051602081830303815290604052805190602001201461112d57604051600160e51b62461bcd02815260040161043e90613264565b8383604051602001611140929190613093565b60408051601f19818403018152828252805160209182012060008c8152606e83528381208a8252835292909220919261117a9291016130ac565b60405160208183030381529060405280519060200120146111bb576000888152606e6020908152604080832088845290915290206111b990858561245f565b505b6000805b60008a8152606b60205260409020548110156112105760008a8152606b602052604090208054889190839081106111f257fe5b9060005260206000200154141561120857600191505b6001016111bf565b5085891415801561121f575080155b15611072576000898152606b602081815260408084208054606c84528286208c875284528286208190559383526001840181558452922001879055517faa6e23bdac31ae314e8eec6a579fd0418f7b5f0bca74e9ef11e78373cec74dd590611069908b908990613152565b6000838152606b6020526040902054156112a357600080fd5b336000908152606960209081526040808320805460018101825590845282842001869055858352606a90915290206112dc90838361245f565b5050506000818152606b602081815260408084208054606c845282862084529185208290559282526001810183559183529091200155565b6033546001600160a01b031690565b6033546000906001600160a01b031661133a612184565b6001600160a01b031614905090565b60608484848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060405161139392508391506020016130a0565b60408051601f1981840301815282825280516020918201206000868152606a83529290922091926113c59291016130ac565b60405160208183030381529060405280519060200120146113fb57604051600160e51b62461bcd02815260040161043e90613264565b60005b60008881526070602052604090205481101561165157600088815260706020526040902080548691908390811061143157fe5b9060005260206000209060020201600001541415611649576000888152606f6020908152604080832054607090925290912080548390811061146f57fe5b90600052602060002090600202016001018054905010611649576000888152607060205260409020805460609190839081106114a757fe5b9060005260206000209060020201600101805490506040519080825280602002602001820160405280156114ef57816020015b60608152602001906001900390816114da5790505b50905060005b60008a815260706020526040902080548490811061150f57fe5b90600052602060002090600202016001018054905081101561163f5760008a8152606e602090815260408083206070909252822080549192918690811061155257fe5b9060005260206000209060020201600101838154811061156e57fe5b906000526020600020015481526020019081526020016000208054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561161b5780601f106115f05761010080835404028352916020019161161b565b820191906000526020600020905b8154815290600101906020018083116115fe57829003601f168201915b505050505082828151811061162c57fe5b60209081029190910101526001016114f5565b5093506116539050565b6001016113fe565b505b5050949350505050565b8383838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250506040516116a592508391506020016130a0565b60408051601f1981840301815282825280516020918201206000868152606a83529290922091926116d79291016130ac565b604051602081830303815290604052805190602001201461170d57604051600160e51b62461bcd02815260040161043e90613264565b604051600160e01b6370a082310281526000906001600160a01b038516906370a082319061173f9033906004016130d1565b60206040518083038186803b15801561175757600080fd5b505afa15801561176b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061178f9190810190612b26565b3360009081526071602090815260408083206001600160a01b03989098168352968152868220875180890190985242885287820193845280546001818101835591845291909220965160029091029096019586559051940193909355505050505050565b8585858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060405161183b92508391506020016130a0565b60408051601f1981840301815282825280516020918201206000868152606a835292909220919261186d9291016130ac565b60405160208183030381529060405280519060200120146118a357604051600160e51b62461bcd02815260040161043e90613264565b3360009081526071602090815260408083206001600160a01b03891684529091528120908080805b845481101561195657888582815481106118e157fe5b9060005260206000209060020201600001541015801561191e57508785828154811061190957fe5b90600052602060002090600202016000015411155b1561194e5784818154811061192f57fe5b9060005260206000209060020201600101548401935082806001019350505b6001016118cb565b507f5e272806e9b4d83f3d7f5741b15b2e573f9b617c78cf4792c89a8f60900cad8e8383604051611988929190613152565b60405180910390a18115611b2c576119bc6119ae6067546119a98686612188565b612200565b6119b78b61224b565b612188565b90506119d0816119cb8b61224b565b61235c565b6001600160a01b038a16600090815260726020526040908190205460675491519293507f2dabdb98a3da1453062856d49712513efb7f59a77ca6ee3ac8c9051bc616782d92611a2192908590613188565b60405180910390a1604051600160e01b6323b872dd0281526001600160a01b038a16906323b872dd90611a5c903390309086906004016130df565b602060405180830381600087803b158015611a7657600080fd5b505af1158015611a8a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611aae919081019061264f565b506001600160a01b038916600090815260726020526040902054611ad29082612368565b6001600160a01b038a166000908152607260205260409081902082905560675490517f2dabdb98a3da1453062856d49712513efb7f59a77ca6ee3ac8c9051bc616782d92611b239290918590613188565b60405180910390a15b505050505050505050505050565b600054610100900460ff1680611b535750611b53612390565b80611b61575060005460ff16155b611b8057604051600160e51b62461bcd02815260040161043e90613204565b600054610100900460ff16158015611bab576000805460ff1961ff0019909116610100171660011790555b603380546001600160a01b0319166001600160a01b0384811691909117918290556040519116906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a38015611c0c576000805461ff00191690555b5050565b8282828080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604051611c5892508391506020016130a0565b60408051601f1981840301815282825280516020918201206000868152606a8352929092209192611c8a9291016130ac565b6040516020818303038152906040528051906020012014611cc057604051600160e51b62461bcd02815260040161043e90613264565b6000858152606b602090815260409182902054825181815281830281019092019092526060918015611cfc578160200160208202803883390190505b5090506068544214611d0e5742611d15565b6068546001015b606855611d206124dd565b506040805180820182526068548152602080820184815260008a8152607083529384208054600181810180845592875295849020855160029092020190815591518051949591948694611d779385019201906124f7565b506000925050505b6000888152606b6020526040902054811015611e00576000888152606b6020526040902080547f7f8d3f14b960b3bcf34baea4b46178e331b54a33e565d7d50d77cdfe9e926fe8918a9184908110611dd357fe5b9060005260206000200154606854604051611df093929190613188565b60405180910390a1600101611d7f565b5050505050505050565b8383838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604051611e5292508391506020016130a0565b60408051601f1981840301815282825280516020918201206000868152606a8352929092209192611e849291016130ac565b6040516020818303038152906040528051906020012014611eba57604051600160e51b62461bcd02815260040161043e90613264565b6000805b33600090815260696020526040902054811015611f3757336000908152606960205260409020805489919083908110611ef357fe5b90600052602060002001541415611f2f5733600090815260696020526040902080546001935082908110611f2357fe5b60009182526020822001555b600101611ebe565b50600181151514611f5d57604051600160e51b62461bcd02815260040161043e90613264565b5050506001600160a01b0316600090815260696020908152604082208054600181018255908352912001929092555050565b8383838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604051611fd792508391506020016130a0565b60408051601f1981840301815282825280516020918201206000868152606a83529290922091926120099291016130ac565b604051602081830303815290604052805190602001201461203f57604051600160e51b62461bcd02815260040161043e90613264565b50506000938452606f6020526040909320929092555050565b612060611323565b61207f57604051600160e51b62461bcd02815260040161043e906131f4565b61208881612396565b50565b8484848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250506040516120d392508391506020016130a0565b60408051601f1981840301815282825280516020918201206000868152606a83529290922091926121059291016130ac565b604051602081830303815290604052805190602001201461213b57604051600160e51b62461bcd02815260040161043e90613264565b6000878152606a60205260409020611e0090858561245f565b60008282111561217957604051600160e51b62461bcd02815260040161043e906131e4565b508082035b92915050565b3390565b6000816121aa57604051600160e51b62461bcd02815260040161043e90613234565b826121b75750600061217e565b670de0b6b3a7640000838102908482816121cd57fe5b04146121ee57604051600160e51b62461bcd02815260040161043e90613224565b8281816121f757fe5b0491505061217e565b600082820283158061221a57508284828161221757fe5b04145b61223957604051600160e51b62461bcd02815260040161043e90613274565b670de0b6b3a764000090049392505050565b600080826001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b15801561228757600080fd5b505afa15801561229b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506122bf9190810190612b44565b60ff16905060006122d1601283612154565b905080600a0a73__FixedPoint____________________________63901717d16040518163ffffffff1660e01b815260040160206040518083038186803b15801561231b57600080fd5b505af415801561232f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506123539190810190612b26565b02949350505050565b6000610cb78383612188565b600082820183811015610cb757604051600160e51b62461bcd02815260040161043e90613214565b303b1590565b6001600160a01b0381166123bf57604051600160e51b62461bcd02815260040161043e906131b4565b6033546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3603380546001600160a01b0319166001600160a01b0392909216919091179055565b50805460018160011615610100020316600290046000825580601f106124415750612088565b601f0160209004906000526020600020908101906120889190612532565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106124a05782800160ff198235161785556124cd565b828001600101855582156124cd579182015b828111156124cd5782358255916020019190600101906124b2565b506124d9929150612532565b5090565b604051806040016040528060008152602001606081525090565b8280548282559060005260206000209081019282156124cd579160200282015b828111156124cd578251825591602001919060010190612517565b6109dc91905b808211156124d95760008155600101612538565b6000610cb782356132b6565b6000610cb782356132c1565b6000610cb782516132c1565b6000610cb782356109dc565b60008083601f84011261258e57600080fd5b5081356001600160401b038111156125a557600080fd5b6020830191508360018202830111156125bd57600080fd5b9250929050565b6000610cb782516109dc565b6000610cb782516132d2565b6000602082840312156125ee57600080fd5b60006125fa848461254c565b949350505050565b60008060006060848603121561261757600080fd5b6000612623868661254c565b93505060206126348682870161254c565b925050604061264586828701612570565b9150509250925092565b60006020828403121561266157600080fd5b60006125fa8484612564565b60008060006040848603121561268257600080fd5b600061268e8686612570565b93505060208401356001600160401b038111156126aa57600080fd5b6126b68682870161257c565b92509250509250925092565b600080600080606085870312156126d857600080fd5b60006126e48787612570565b94505060208501356001600160401b0381111561270057600080fd5b61270c8782880161257c565b9350935050604061271f8782880161254c565b91505092959194509250565b60008060008060008060a0878903121561274457600080fd5b60006127508989612570565b96505060208701356001600160401b0381111561276c57600080fd5b61277889828a0161257c565b9550955050604061278b89828a0161254c565b935050606061279c89828a01612570565b92505060806127ad89828a01612570565b9150509295509295509295565b600080600080606085870312156127d057600080fd5b60006127dc8787612570565b94505060208501356001600160401b038111156127f857600080fd5b6128048782880161257c565b9350935050604061271f87828801612570565b6000806000806000806080878903121561283057600080fd5b600061283c8989612570565b96505060208701356001600160401b0381111561285857600080fd5b61286489828a0161257c565b9550955050604061287789828a01612570565b93505060608701356001600160401b0381111561289357600080fd5b61289f89828a0161257c565b92509250509295509295509295565b600080600080600080600060a0888a0312156128c957600080fd5b60006128d58a8a612570565b97505060208801356001600160401b038111156128f157600080fd5b6128fd8a828b0161257c565b965096505060406129108a828b01612570565b94505060608801356001600160401b0381111561292c57600080fd5b6129388a828b0161257c565b9350935050608061294b8a828b01612558565b91505092959891949750929550565b60008060008060006080868803121561297257600080fd5b600061297e8888612570565b95505060208601356001600160401b0381111561299a57600080fd5b6129a68882890161257c565b945094505060406129b988828901612570565b92505060606129ca88828901612570565b9150509295509295909350565b600080600080600080600060a0888a0312156129f257600080fd5b60006129fe8a8a612570565b97505060208801356001600160401b03811115612a1a57600080fd5b612a268a828b0161257c565b96509650506040612a398a828b01612570565b9450506060612a4a8a828b01612570565b93505060808801356001600160401b03811115612a6657600080fd5b612a728a828b0161257c565b925092505092959891949750929550565b600080600080600060608688031215612a9b57600080fd5b6000612aa78888612570565b95505060208601356001600160401b03811115612ac357600080fd5b612acf8882890161257c565b945094505060408601356001600160401b03811115612aed57600080fd5b612af98882890161257c565b92509250509295509295909350565b600060208284031215612b1a57600080fd5b60006125fa8484612570565b600060208284031215612b3857600080fd5b60006125fa84846125c4565b600060208284031215612b5657600080fd5b60006125fa84846125d0565b6000612b6e8383612c62565b505060200190565b6000610cb78383612c8a565b612b8b816132d8565b82525050565b612b8b816132b6565b6000612ba5826132a4565b612baf81856132a8565b9350612bba83613292565b60005b82811015612be557612bd0868351612b62565b9550612bdb82613292565b9150600101612bbd565b5093949350505050565b6000612bfa826132a4565b612c0481856132a8565b935083602082028501612c1685613292565b60005b84811015612c4d578383038852612c31838351612b76565b9250612c3c82613292565b602098909801979150600101612c19565b50909695505050505050565b612b8b816132c1565b612b8b816109dc565b6000612c7783856132b1565b9350612c848385846132e9565b50500190565b6000612c95826132a4565b612c9f81856132a8565b9350612caf8185602086016132f5565b612cb881613325565b9093019392505050565b6000612ccd826132a4565b612cd781856132b1565b9350612ce78185602086016132f5565b9290920192915050565b600081546001811660008114612d0e5760018114612d3157612d70565b607f6002830416612d1f81876132b1565b60ff1984168152955085019250612d70565b60028204612d3f81876132b1565b9550612d4a85613298565b60005b82811015612d6957815488820152600190910190602001612d4d565b5050850192505b505092915050565b6000612d856026836132a8565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20618152600160d01b6564647265737302602082015260400192915050565b6000612dd06017836132a8565b7f4e6f7420612076616c6964206469737472696275746f72000000000000000000815260200192915050565b6000612e09601b836132a8565b7f556e617574686f72697a65642066656520636f6c6c656374696f6e0000000000815260200192915050565b6000612e42600c836132a8565b7f5355425f4f564552464c4f570000000000000000000000000000000000000000815260200192915050565b6000612e7b6020836132a8565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572815260200192915050565b6000612eb4602e836132a8565b7f436f6e747261637420696e7374616e63652068617320616c726561647920626581527f656e20696e697469616c697a6564000000000000000000000000000000000000602082015260400192915050565b6000612f13600c836132a8565b7f4144445f4f564552464c4f570000000000000000000000000000000000000000815260200192915050565b6000612f4c600c836132a8565b7f4449565f494e5445524e414c0000000000000000000000000000000000000000815260200192915050565b6000612f85600d836132a8565b7f5a45524f5f4449564953494f4e00000000000000000000000000000000000000815260200192915050565b600061217e6000836132b1565b6000612fcb6012836132a8565b7f57616c6c6574206e6f7420637265617465640000000000000000000000000000815260200192915050565b6000613004600b836132a8565b600160a91b6a24b73b30b634b2102824a702815260200192915050565b600061302e6012836132a8565b7f4e6f7420612076616c6964207369676e65720000000000000000000000000000815260200192915050565b6000613067600c836132a8565b7f4d554c5f4f564552464c4f570000000000000000000000000000000000000000815260200192915050565b60006125fa828486612c6b565b6000610cb78284612cc2565b6000610cb78284612cf1565b600061217e82612fb1565b6020810161217e8284612b91565b6020810161217e8284612b82565b606081016130ed8286612b82565b6130fa6020830185612b91565b6125fa6040830184612c62565b604081016131158285612b91565b610cb76020830184612c62565b60208082528101610cb78184612b9a565b60208082528101610cb78184612bef565b6020810161217e8284612c59565b604081016131158285612c62565b6060810161316e8286612c62565b61317b6020830185612c62565b6125fa6040830184612c59565b606081016131968286612c62565b6130fa6020830185612c62565b60208082528101610cb78184612c8a565b6020808252810161217e81612d78565b6020808252810161217e81612dc3565b6020808252810161217e81612dfc565b6020808252810161217e81612e35565b6020808252810161217e81612e6e565b6020808252810161217e81612ea7565b6020808252810161217e81612f06565b6020808252810161217e81612f3f565b6020808252810161217e81612f78565b6020808252810161217e81612fbe565b6020808252810161217e81612ff7565b6020808252810161217e81613021565b6020808252810161217e8161305a565b6020810161217e8284612c62565b60200190565b60009081526020902090565b5190565b90815260200190565b919050565b600061217e826132c6565b151590565b6001600160a01b031690565b60ff1690565b600061217e82600061217e826132b6565b82818337506000910152565b60005b838110156133105781810151838201526020016132f8565b8381111561331f576000848401525b50505050565b601f01601f19169056fea265627a7a72305820e7c88165c6ad756bfc698c8fd3121a4660ea2c2f94c01eab631060da67b265e76c6578706572696d656e74616cf50037",
    "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101735760003560e01c806388a563a7116100de578063bd09fa0e11610097578063dbcc0ef611610071578063dbcc0ef614610342578063e70eedb014610355578063f2fde38b14610368578063f4f331111461037b57610173565b8063bd09fa0e14610309578063c4d66de81461031c578063d29da2a71461032f57610173565b806388a563a7146102935780638c4b3bcd146102a65780638da5cb5b146102b95780638f32d59b146102ce578063b418cd88146102d6578063b73a9929146102f657610173565b80634540dbf4116101305780634540dbf414610212578063715018a61461022557806375619ab51461022d578063771800801461024057806378632fb2146102605780637c52c77a1461028057610173565b806320ffb7fb146101785780632c5e772f1461018d5780633136abd3146101a05780633dbcc3e0146101b3578063424559b8146101dc57806344d00f82146101fd575b600080fd5b61018b6101863660046129d7565b61038e565b005b61018b61019b366004612b08565b610676565b61018b6101ae3660046127ba565b6106ab565b6101c66101c13660046125dc565b6107fd565b6040516101d39190613284565b60405180910390f35b6101ef6101ea366004612602565b610936565b6040516101d3929190613152565b61020561097d565b6040516101d39190613122565b6101c661022036600461266d565b6109df565b61018b610aa8565b61018b61023b3660046125dc565b610b19565b61025361024e36600461266d565b610b6b565b6040516101d391906131a3565b61027361026e36600461295a565b610cbe565b6040516101d39190613144565b61018b61028e3660046128ae565b610f01565b61018b6102a1366004612817565b61107d565b61018b6102b436600461266d565b61128a565b6102c1611314565b6040516101d391906130c3565b610273611323565b6102e96102e43660046127ba565b611349565b6040516101d39190613133565b61018b6103043660046126c2565b61165d565b61018b61031736600461272b565b6117f3565b61018b61032a3660046125dc565b611b3a565b61018b61033d36600461266d565b611c10565b61018b6103503660046126c2565b611e0a565b61018b6103633660046127ba565b611f8f565b61018b6103763660046125dc565b612058565b61018b610389366004612a83565b61208b565b8386868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250506040516103d692508391506020016130a0565b60408051601f1981840301815282825280516020918201206000868152606a83529290922091926104089291016130ac565b604051602081830303815290604052805190602001201461044757604051600160e51b62461bcd02815260040161043e90613264565b60405180910390fd5b838360405160200161045a929190613093565b60408051601f19818403018152828252805160209182012060008d8152606d83528381208b825283529290922091926104949291016130ac565b60405160208183030381529060405280519060200120146104b457600080fd5b60005b60008a81526070602052604090205481101561066a5760008a81526070602052604090208054879190839081106104ea57fe5b90600052602060002090600202016000015414156106625760005b60008b815260706020526040902080548390811061051f57fe5b9060005260206000209060020201600101805490508110156106255760008b815260706020526040902080548991908490811061055857fe5b9060005260206000209060020201600101828154811061057457fe5b9060005260206000200154141561058a57610625565b60008b81526070602052604090208054839081106105a457fe5b906000526020600020906002020160010181815481106105c057fe5b90600052602060002001546000141561061d5760008b81526070602052604090208054899190849081106105f057fe5b9060005260206000209060020201600101828154811061060c57fe5b600091825260209091200155610625565b600101610505565b507faff273650e3a4ea06a9841f55dd08ea83018f0c09836f109ccba14823e59de478a888860405161065993929190613188565b60405180910390a15b6001016104b7565b50505050505050505050565b60665433906001600160a01b031681146106a557604051600160e51b62461bcd02815260040161043e906131c4565b50606755565b8383838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250506040516106f392508391506020016130a0565b60408051601f1981840301815282825280516020918201206000868152606a83529290922091926107259291016130ac565b604051602081830303815290604052805190602001201461075b57604051600160e51b62461bcd02815260040161043e90613264565b6000868152606c60209081526040808320868452909152902054156107f5576000868152606b60209081526040808320606c835281842087855290925290912054815481106107a657fe5b60009182526020808320909101829055878252606e8152604080832086845290915281206107d39161241b565b6000868152606d6020908152604080832086845290915281206107f59161241b565b505050505050565b6066546000906001600160a01b0316331461082d57604051600160e51b62461bcd02815260040161043e906131d4565b6001600160a01b0382166000908152607260205260409020546108508180612154565b6001600160a01b0380851660008181526072602052604090819020939093556066549251600160e01b63a9059cbb028152909263a9059cbb9261089a929116908590600401613107565b602060405180830381600087803b1580156108b457600080fd5b505af11580156108c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506108ec919081019061264f565b50306001600160a01b03167feaad90c8664cdf61d60bd7ba6745a881fd1c38d9f4ff0b373b4365cdeeb0f9e88242604051610928929190613152565b60405180910390a292915050565b6071602052826000526040600020602052816000526040600020818154811061095b57fe5b6000918252602090912060029091020180546001909101549093509150839050565b336000908152606960209081526040918290208054835181840281018401909452808452606093928301828280156109d457602002820191906000526020600020905b8154815260200190600101908083116109c0575b505050505090505b90565b60008383838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604051610a2992508391506020016130a0565b60408051601f1981840301815282825280516020918201206000868152606a8352929092209192610a5b9291016130ac565b6040516020818303038152906040528051906020012014610a9157604051600160e51b62461bcd02815260040161043e90613264565b50505060009283525050606f602052604090205490565b610ab0611323565b610acf57604051600160e51b62461bcd02815260040161043e906131f4565b6033546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3603380546001600160a01b0319169055565b60665433906001600160a01b03168114610b4857604051600160e51b62461bcd02815260040161043e906131c4565b50606680546001600160a01b0319166001600160a01b0392909216919091179055565b6000838152606b6020526040902054606090610b9c57604051600160e51b62461bcd02815260040161043e90613244565b8282604051602001610baf929190613093565b60408051601f1981840301815282825280516020918201206000888152606d83528381208352929092209192610be69291016130ac565b6040516020818303038152906040528051906020012014610c1c57604051600160e51b62461bcd02815260040161043e90613254565b6000848152606a602090815260409182902080548351601f600260001961010060018616150201909316929092049182018490048402810184019094528084529091830182828015610caf5780601f10610c8457610100808354040283529160200191610caf565b820191906000526020600020905b815481529060010190602001808311610c9257829003601f168201915b505050505090505b9392505050565b60008585858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604051610d0892508391506020016130a0565b60408051601f1981840301815282825280516020918201206000868152606a8352929092209192610d3a9291016130ac565b6040516020818303038152906040528051906020012014610d7057604051600160e51b62461bcd02815260040161043e90613264565b604051602001610d7f906130b8565b60408051601f19818403018152828252805160209182012060008c8152606d83528381208a82528352929092209192610db99291016130ac565b604051602081830303815290604052805190602001201415610dda57600080fd5b6000805b60008a815260706020526040902054811015610edf5760008a8152607060205260409020805487919083908110610e1157fe5b9060005260206000209060020201600001541415610ed7576000805b60008c8152607060205260409020805484908110610e4757fe5b906000526020600020906002020160010180549050811015610eba5760008c8152607060205260409020805484908110610e7d57fe5b90600052602060002090600202016001018181548110610e9957fe5b9060005260206000200154600014610eb2576001909101905b600101610e2d565b5060008b8152606f60205260409020548110610ed557600192505b505b600101610dde565b508015610ef0576001935050610ef6565b60009350505b505095945050505050565b8386868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604051610f4992508391506020016130a0565b60408051601f1981840301815282825280516020918201206000868152606a8352929092209192610f7b9291016130ac565b6040516020818303038152906040528051906020012014610fb157604051600160e51b62461bcd02815260040161043e90613264565b6000898152606b6020526040902054610fc957600080fd5b8215611035576000898152606d602090815260408083208984529091529020610ff390868661245f565b507f5472b7fef042e64eae80068ace4f2e4134b2b13f9f86ac9ae86640bae2b903068987600160405161102893929190613160565b60405180910390a1611072565b7f5472b7fef042e64eae80068ace4f2e4134b2b13f9f86ac9ae86640bae2b903068987600060405161106993929190613160565b60405180910390a15b505050505050505050565b8585858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250506040516110c592508391506020016130a0565b60408051601f1981840301815282825280516020918201206000868152606a83529290922091926110f79291016130ac565b604051602081830303815290604052805190602001201461112d57604051600160e51b62461bcd02815260040161043e90613264565b8383604051602001611140929190613093565b60408051601f19818403018152828252805160209182012060008c8152606e83528381208a8252835292909220919261117a9291016130ac565b60405160208183030381529060405280519060200120146111bb576000888152606e6020908152604080832088845290915290206111b990858561245f565b505b6000805b60008a8152606b60205260409020548110156112105760008a8152606b602052604090208054889190839081106111f257fe5b9060005260206000200154141561120857600191505b6001016111bf565b5085891415801561121f575080155b15611072576000898152606b602081815260408084208054606c84528286208c875284528286208190559383526001840181558452922001879055517faa6e23bdac31ae314e8eec6a579fd0418f7b5f0bca74e9ef11e78373cec74dd590611069908b908990613152565b6000838152606b6020526040902054156112a357600080fd5b336000908152606960209081526040808320805460018101825590845282842001869055858352606a90915290206112dc90838361245f565b5050506000818152606b602081815260408084208054606c845282862084529185208290559282526001810183559183529091200155565b6033546001600160a01b031690565b6033546000906001600160a01b031661133a612184565b6001600160a01b031614905090565b60608484848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060405161139392508391506020016130a0565b60408051601f1981840301815282825280516020918201206000868152606a83529290922091926113c59291016130ac565b60405160208183030381529060405280519060200120146113fb57604051600160e51b62461bcd02815260040161043e90613264565b60005b60008881526070602052604090205481101561165157600088815260706020526040902080548691908390811061143157fe5b9060005260206000209060020201600001541415611649576000888152606f6020908152604080832054607090925290912080548390811061146f57fe5b90600052602060002090600202016001018054905010611649576000888152607060205260409020805460609190839081106114a757fe5b9060005260206000209060020201600101805490506040519080825280602002602001820160405280156114ef57816020015b60608152602001906001900390816114da5790505b50905060005b60008a815260706020526040902080548490811061150f57fe5b90600052602060002090600202016001018054905081101561163f5760008a8152606e602090815260408083206070909252822080549192918690811061155257fe5b9060005260206000209060020201600101838154811061156e57fe5b906000526020600020015481526020019081526020016000208054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561161b5780601f106115f05761010080835404028352916020019161161b565b820191906000526020600020905b8154815290600101906020018083116115fe57829003601f168201915b505050505082828151811061162c57fe5b60209081029190910101526001016114f5565b5093506116539050565b6001016113fe565b505b5050949350505050565b8383838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250506040516116a592508391506020016130a0565b60408051601f1981840301815282825280516020918201206000868152606a83529290922091926116d79291016130ac565b604051602081830303815290604052805190602001201461170d57604051600160e51b62461bcd02815260040161043e90613264565b604051600160e01b6370a082310281526000906001600160a01b038516906370a082319061173f9033906004016130d1565b60206040518083038186803b15801561175757600080fd5b505afa15801561176b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061178f9190810190612b26565b3360009081526071602090815260408083206001600160a01b03989098168352968152868220875180890190985242885287820193845280546001818101835591845291909220965160029091029096019586559051940193909355505050505050565b8585858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060405161183b92508391506020016130a0565b60408051601f1981840301815282825280516020918201206000868152606a835292909220919261186d9291016130ac565b60405160208183030381529060405280519060200120146118a357604051600160e51b62461bcd02815260040161043e90613264565b3360009081526071602090815260408083206001600160a01b03891684529091528120908080805b845481101561195657888582815481106118e157fe5b9060005260206000209060020201600001541015801561191e57508785828154811061190957fe5b90600052602060002090600202016000015411155b1561194e5784818154811061192f57fe5b9060005260206000209060020201600101548401935082806001019350505b6001016118cb565b507f5e272806e9b4d83f3d7f5741b15b2e573f9b617c78cf4792c89a8f60900cad8e8383604051611988929190613152565b60405180910390a18115611b2c576119bc6119ae6067546119a98686612188565b612200565b6119b78b61224b565b612188565b90506119d0816119cb8b61224b565b61235c565b6001600160a01b038a16600090815260726020526040908190205460675491519293507f2dabdb98a3da1453062856d49712513efb7f59a77ca6ee3ac8c9051bc616782d92611a2192908590613188565b60405180910390a1604051600160e01b6323b872dd0281526001600160a01b038a16906323b872dd90611a5c903390309086906004016130df565b602060405180830381600087803b158015611a7657600080fd5b505af1158015611a8a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611aae919081019061264f565b506001600160a01b038916600090815260726020526040902054611ad29082612368565b6001600160a01b038a166000908152607260205260409081902082905560675490517f2dabdb98a3da1453062856d49712513efb7f59a77ca6ee3ac8c9051bc616782d92611b239290918590613188565b60405180910390a15b505050505050505050505050565b600054610100900460ff1680611b535750611b53612390565b80611b61575060005460ff16155b611b8057604051600160e51b62461bcd02815260040161043e90613204565b600054610100900460ff16158015611bab576000805460ff1961ff0019909116610100171660011790555b603380546001600160a01b0319166001600160a01b0384811691909117918290556040519116906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a38015611c0c576000805461ff00191690555b5050565b8282828080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604051611c5892508391506020016130a0565b60408051601f1981840301815282825280516020918201206000868152606a8352929092209192611c8a9291016130ac565b6040516020818303038152906040528051906020012014611cc057604051600160e51b62461bcd02815260040161043e90613264565b6000858152606b602090815260409182902054825181815281830281019092019092526060918015611cfc578160200160208202803883390190505b5090506068544214611d0e5742611d15565b6068546001015b606855611d206124dd565b506040805180820182526068548152602080820184815260008a8152607083529384208054600181810180845592875295849020855160029092020190815591518051949591948694611d779385019201906124f7565b506000925050505b6000888152606b6020526040902054811015611e00576000888152606b6020526040902080547f7f8d3f14b960b3bcf34baea4b46178e331b54a33e565d7d50d77cdfe9e926fe8918a9184908110611dd357fe5b9060005260206000200154606854604051611df093929190613188565b60405180910390a1600101611d7f565b5050505050505050565b8383838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604051611e5292508391506020016130a0565b60408051601f1981840301815282825280516020918201206000868152606a8352929092209192611e849291016130ac565b6040516020818303038152906040528051906020012014611eba57604051600160e51b62461bcd02815260040161043e90613264565b6000805b33600090815260696020526040902054811015611f3757336000908152606960205260409020805489919083908110611ef357fe5b90600052602060002001541415611f2f5733600090815260696020526040902080546001935082908110611f2357fe5b60009182526020822001555b600101611ebe565b50600181151514611f5d57604051600160e51b62461bcd02815260040161043e90613264565b5050506001600160a01b0316600090815260696020908152604082208054600181018255908352912001929092555050565b8383838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604051611fd792508391506020016130a0565b60408051601f1981840301815282825280516020918201206000868152606a83529290922091926120099291016130ac565b604051602081830303815290604052805190602001201461203f57604051600160e51b62461bcd02815260040161043e90613264565b50506000938452606f6020526040909320929092555050565b612060611323565b61207f57604051600160e51b62461bcd02815260040161043e906131f4565b61208881612396565b50565b8484848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250506040516120d392508391506020016130a0565b60408051601f1981840301815282825280516020918201206000868152606a83529290922091926121059291016130ac565b604051602081830303815290604052805190602001201461213b57604051600160e51b62461bcd02815260040161043e90613264565b6000878152606a60205260409020611e0090858561245f565b60008282111561217957604051600160e51b62461bcd02815260040161043e906131e4565b508082035b92915050565b3390565b6000816121aa57604051600160e51b62461bcd02815260040161043e90613234565b826121b75750600061217e565b670de0b6b3a7640000838102908482816121cd57fe5b04146121ee57604051600160e51b62461bcd02815260040161043e90613224565b8281816121f757fe5b0491505061217e565b600082820283158061221a57508284828161221757fe5b04145b61223957604051600160e51b62461bcd02815260040161043e90613274565b670de0b6b3a764000090049392505050565b600080826001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b15801561228757600080fd5b505afa15801561229b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506122bf9190810190612b44565b60ff16905060006122d1601283612154565b905080600a0a73__FixedPoint____________________________63901717d16040518163ffffffff1660e01b815260040160206040518083038186803b15801561231b57600080fd5b505af415801561232f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506123539190810190612b26565b02949350505050565b6000610cb78383612188565b600082820183811015610cb757604051600160e51b62461bcd02815260040161043e90613214565b303b1590565b6001600160a01b0381166123bf57604051600160e51b62461bcd02815260040161043e906131b4565b6033546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3603380546001600160a01b0319166001600160a01b0392909216919091179055565b50805460018160011615610100020316600290046000825580601f106124415750612088565b601f0160209004906000526020600020908101906120889190612532565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106124a05782800160ff198235161785556124cd565b828001600101855582156124cd579182015b828111156124cd5782358255916020019190600101906124b2565b506124d9929150612532565b5090565b604051806040016040528060008152602001606081525090565b8280548282559060005260206000209081019282156124cd579160200282015b828111156124cd578251825591602001919060010190612517565b6109dc91905b808211156124d95760008155600101612538565b6000610cb782356132b6565b6000610cb782356132c1565b6000610cb782516132c1565b6000610cb782356109dc565b60008083601f84011261258e57600080fd5b5081356001600160401b038111156125a557600080fd5b6020830191508360018202830111156125bd57600080fd5b9250929050565b6000610cb782516109dc565b6000610cb782516132d2565b6000602082840312156125ee57600080fd5b60006125fa848461254c565b949350505050565b60008060006060848603121561261757600080fd5b6000612623868661254c565b93505060206126348682870161254c565b925050604061264586828701612570565b9150509250925092565b60006020828403121561266157600080fd5b60006125fa8484612564565b60008060006040848603121561268257600080fd5b600061268e8686612570565b93505060208401356001600160401b038111156126aa57600080fd5b6126b68682870161257c565b92509250509250925092565b600080600080606085870312156126d857600080fd5b60006126e48787612570565b94505060208501356001600160401b0381111561270057600080fd5b61270c8782880161257c565b9350935050604061271f8782880161254c565b91505092959194509250565b60008060008060008060a0878903121561274457600080fd5b60006127508989612570565b96505060208701356001600160401b0381111561276c57600080fd5b61277889828a0161257c565b9550955050604061278b89828a0161254c565b935050606061279c89828a01612570565b92505060806127ad89828a01612570565b9150509295509295509295565b600080600080606085870312156127d057600080fd5b60006127dc8787612570565b94505060208501356001600160401b038111156127f857600080fd5b6128048782880161257c565b9350935050604061271f87828801612570565b6000806000806000806080878903121561283057600080fd5b600061283c8989612570565b96505060208701356001600160401b0381111561285857600080fd5b61286489828a0161257c565b9550955050604061287789828a01612570565b93505060608701356001600160401b0381111561289357600080fd5b61289f89828a0161257c565b92509250509295509295509295565b600080600080600080600060a0888a0312156128c957600080fd5b60006128d58a8a612570565b97505060208801356001600160401b038111156128f157600080fd5b6128fd8a828b0161257c565b965096505060406129108a828b01612570565b94505060608801356001600160401b0381111561292c57600080fd5b6129388a828b0161257c565b9350935050608061294b8a828b01612558565b91505092959891949750929550565b60008060008060006080868803121561297257600080fd5b600061297e8888612570565b95505060208601356001600160401b0381111561299a57600080fd5b6129a68882890161257c565b945094505060406129b988828901612570565b92505060606129ca88828901612570565b9150509295509295909350565b600080600080600080600060a0888a0312156129f257600080fd5b60006129fe8a8a612570565b97505060208801356001600160401b03811115612a1a57600080fd5b612a268a828b0161257c565b96509650506040612a398a828b01612570565b9450506060612a4a8a828b01612570565b93505060808801356001600160401b03811115612a6657600080fd5b612a728a828b0161257c565b925092505092959891949750929550565b600080600080600060608688031215612a9b57600080fd5b6000612aa78888612570565b95505060208601356001600160401b03811115612ac357600080fd5b612acf8882890161257c565b945094505060408601356001600160401b03811115612aed57600080fd5b612af98882890161257c565b92509250509295509295909350565b600060208284031215612b1a57600080fd5b60006125fa8484612570565b600060208284031215612b3857600080fd5b60006125fa84846125c4565b600060208284031215612b5657600080fd5b60006125fa84846125d0565b6000612b6e8383612c62565b505060200190565b6000610cb78383612c8a565b612b8b816132d8565b82525050565b612b8b816132b6565b6000612ba5826132a4565b612baf81856132a8565b9350612bba83613292565b60005b82811015612be557612bd0868351612b62565b9550612bdb82613292565b9150600101612bbd565b5093949350505050565b6000612bfa826132a4565b612c0481856132a8565b935083602082028501612c1685613292565b60005b84811015612c4d578383038852612c31838351612b76565b9250612c3c82613292565b602098909801979150600101612c19565b50909695505050505050565b612b8b816132c1565b612b8b816109dc565b6000612c7783856132b1565b9350612c848385846132e9565b50500190565b6000612c95826132a4565b612c9f81856132a8565b9350612caf8185602086016132f5565b612cb881613325565b9093019392505050565b6000612ccd826132a4565b612cd781856132b1565b9350612ce78185602086016132f5565b9290920192915050565b600081546001811660008114612d0e5760018114612d3157612d70565b607f6002830416612d1f81876132b1565b60ff1984168152955085019250612d70565b60028204612d3f81876132b1565b9550612d4a85613298565b60005b82811015612d6957815488820152600190910190602001612d4d565b5050850192505b505092915050565b6000612d856026836132a8565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20618152600160d01b6564647265737302602082015260400192915050565b6000612dd06017836132a8565b7f4e6f7420612076616c6964206469737472696275746f72000000000000000000815260200192915050565b6000612e09601b836132a8565b7f556e617574686f72697a65642066656520636f6c6c656374696f6e0000000000815260200192915050565b6000612e42600c836132a8565b7f5355425f4f564552464c4f570000000000000000000000000000000000000000815260200192915050565b6000612e7b6020836132a8565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572815260200192915050565b6000612eb4602e836132a8565b7f436f6e747261637420696e7374616e63652068617320616c726561647920626581527f656e20696e697469616c697a6564000000000000000000000000000000000000602082015260400192915050565b6000612f13600c836132a8565b7f4144445f4f564552464c4f570000000000000000000000000000000000000000815260200192915050565b6000612f4c600c836132a8565b7f4449565f494e5445524e414c0000000000000000000000000000000000000000815260200192915050565b6000612f85600d836132a8565b7f5a45524f5f4449564953494f4e00000000000000000000000000000000000000815260200192915050565b600061217e6000836132b1565b6000612fcb6012836132a8565b7f57616c6c6574206e6f7420637265617465640000000000000000000000000000815260200192915050565b6000613004600b836132a8565b600160a91b6a24b73b30b634b2102824a702815260200192915050565b600061302e6012836132a8565b7f4e6f7420612076616c6964207369676e65720000000000000000000000000000815260200192915050565b6000613067600c836132a8565b7f4d554c5f4f564552464c4f570000000000000000000000000000000000000000815260200192915050565b60006125fa828486612c6b565b6000610cb78284612cc2565b6000610cb78284612cf1565b600061217e82612fb1565b6020810161217e8284612b91565b6020810161217e8284612b82565b606081016130ed8286612b82565b6130fa6020830185612b91565b6125fa6040830184612c62565b604081016131158285612b91565b610cb76020830184612c62565b60208082528101610cb78184612b9a565b60208082528101610cb78184612bef565b6020810161217e8284612c59565b604081016131158285612c62565b6060810161316e8286612c62565b61317b6020830185612c62565b6125fa6040830184612c59565b606081016131968286612c62565b6130fa6020830185612c62565b60208082528101610cb78184612c8a565b6020808252810161217e81612d78565b6020808252810161217e81612dc3565b6020808252810161217e81612dfc565b6020808252810161217e81612e35565b6020808252810161217e81612e6e565b6020808252810161217e81612ea7565b6020808252810161217e81612f06565b6020808252810161217e81612f3f565b6020808252810161217e81612f78565b6020808252810161217e81612fbe565b6020808252810161217e81612ff7565b6020808252810161217e81613021565b6020808252810161217e8161305a565b6020810161217e8284612c62565b60200190565b60009081526020902090565b5190565b90815260200190565b919050565b600061217e826132c6565b151590565b6001600160a01b031690565b60ff1690565b600061217e82600061217e826132b6565b82818337506000910152565b60005b838110156133105781810151838201526020016132f8565b8381111561331f576000848401525b50505050565b601f01601f19169056fea265627a7a72305820e7c88165c6ad756bfc698c8fd3121a4660ea2c2f94c01eab631060da67b265e76c6578706572696d656e74616cf50037",
    "sourceMap": "558:19572:7:-;;;3774:104;8:9:-1;5:2;;;30:1;27;20:12;5:2;3774:104:7;3805:30;3824:10;3805:18;;;;;:30;;:::i;:::-;3846:11;:24;;-1:-1:-1;;;;;;3846:24:7;3860:10;3846:24;;;558:19572;;741:142:1;1024:12:4;;;;;;;;:31;;;1040:15;:13;;;:15;;:::i;:::-;1024:47;;;-1:-1:-1;1060:11:4;;;;1059:12;1024:47;1016:106;;;;;;;;;;;;;;;;;;;;;;1129:19;1152:12;;;;;;1151:13;1170:80;;;;1198:12;:19;;-1:-1:-1;;;;1198:19:4;;;;;1225:18;1213:4;1225:18;;;1170:80;806:6:1;:15;;-1:-1:-1;;;;;;806:15:1;-1:-1:-1;;;;;806:15:1;;;;;;;;;;;836:40;;869:6;;;-1:-1:-1;;836:40:1;;-1:-1:-1;;836:40:1;1268:14:4;1264:55;;;1307:5;1292:20;;-1:-1:-1;;1292:20:4;;;1264:55;741:142:1;;:::o;1409:498:4:-;1820:4;1864:17;1895:7;1409:498;:::o;6:465:-1:-;;166:67;230:2;225:3;166:67;;;266:66;246:87;;367:66;362:2;353:12;;346:88;462:2;453:12;;152:319;-1:-1;;152:319;479:407;670:2;684:47;;;655:18;;745:131;655:18;745:131;;;737:139;641:245;-1:-1;;641:245;894:163;997:19;;;1046:4;1037:14;;990:67;;558:19572:7;;;;;;",
    "deployedSourceMap": "558:19572:7:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;558:19572:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12010:908;;;;;;;;;:::i;:::-;;4010:106;;;;;;;;;:::i;8355:369::-;;;;;;;;;:::i;17952:440::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;3219:78;;;;;;;;;:::i;:::-;;;;;;;;;5231:105;;;:::i;:::-;;;;;;;;10494:156;;;;;;;;;:::i;1746:137:1:-;;;:::i;3886:116:7:-;;;;;;;;;:::i;6376:348::-;;;;;;;;;:::i;:::-;;;;;;;;13351:944;;;;;;;;;:::i;:::-;;;;;;;;9219:451;;;;;;;;;:::i;7154:832::-;;;;;;;;;:::i;4373:311::-;;;;;;;;;:::i;959:77:1:-;;;:::i;:::-;;;;;;;;1310:92;;;:::i;14602:832:7:-;;;;;;;;;:::i;:::-;;;;;;;;15745:330;;;;;;;;;:::i;16649:1151::-;;;;;;;;;:::i;741:142:1:-;;;;;;;;;:::i;10996:564:7:-;;;;;;;;;:::i;5672:469::-;;;;;;;;;:::i;10026:176::-;;;;;;;;;:::i;2032:107:1:-;;;;;;;;;:::i;4993:158:7:-;;;;;;;;;:::i;12010:908::-;12142:12;12156:3;;3428:202;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;;3565:21:7;;;;-1:-1:-1;3582:3:7;;-1:-1:-1;3565:21:7;;;;;;;;-1:-1:-1;;26:21;;;22:32;6:49;;3565:21:7;;;3555:32;;49:4:-1;3555:32:7;;;;3531:18;;;;:8;:18;;;;;;3555:32;;3514:36;;3531:18;3514:36;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;3514:36:7;;;3504:47;;;;;;:83;3496:114;;;;-1:-1:-1;;;;;3496:114:7;;;;;;;;;;;;;;;;;12275:4;;12258:22;;;;;;;;;;;;;;-1:-1:-1;;26:21;;;22:32;6:49;;12258:22:7;;;12248:33;;49:4:-1;12248:33:7;;;;12216:14;;;;:4;:14;;;;;:28;;;;;;;;;12248:33;;12199:46;;12216:28;12199:46;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;12199:46:7;;;12189:57;;;;;;:92;12181:101;;;;;;12297:6;12293:618;12309:22;;;;:12;:22;;;;;:29;12307:31;;12293:618;;;12362:22;;;;:12;:22;;;;;:25;;12398:3;;12362:22;12385:1;;12362:25;;;;;;;;;;;;;;;;:34;;;:39;12359:541;;;12425:6;12421:396;12437:22;;;;:12;:22;;;;;:25;;12460:1;;12437:25;;;;;;;;;;;;;;;;:35;;:42;;;;12435:1;:44;12421:396;;;12511:22;;;;:12;:22;;;;;:25;;12551:12;;12511:22;12534:1;;12511:25;;;;;;;;;;;;;;;;:35;;12547:1;12511:38;;;;;;;;;;;;;;;;:52;12508:87;;;12590:5;;12508:87;12621:22;;;;:12;:22;;;;;:25;;12644:1;;12621:25;;;;;;;;;;;;;;;;:35;;12657:1;12621:38;;;;;;;;;;;;;;;;:42;;12618:180;;;12691:22;;;;:12;:22;;;;;:25;;12730:12;;12691:22;12714:1;;12691:25;;;;;;;;;;;;;;;;:35;;12727:1;12691:38;;;;;;;;;;;;;;;;;:51;12769:5;;12618:180;12481:3;;12421:396;;;;12840:44;12856:8;12866:12;12880:3;12840:44;;;;;;;;;;;;;;;;;12359:541;12340:3;;12293:618;;;;12010:908;;;;;;;;;:::o;4010:106::-;3707:11;;4069:10;;-1:-1:-1;;;;;3707:11:7;3698:20;;3690:56;;;;-1:-1:-1;;;;;3690:56:7;;;;;;;;;-1:-1:-1;4091:10:7;:17;4010:106::o;8355:369::-;8454:8;8464:3;;3428:202;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;;3565:21:7;;;;-1:-1:-1;3582:3:7;;-1:-1:-1;3565:21:7;;;;;;;;-1:-1:-1;;26:21;;;22:32;6:49;;3565:21:7;;;3555:32;;49:4:-1;3555:32:7;;;;3531:18;;;;:8;:18;;;;;;3555:32;;3514:36;;3531:18;3514:36;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;3514:36:7;;;3504:47;;;;;;:83;3496:114;;;;-1:-1:-1;;;;;3496:114:7;;;;;;;;;8528:1;8492:19;;;:9;:19;;;;;;;;:33;;;;;;;;;:37;8489:228;;8552:16;;;;:6;:16;;;;;;;;8569:9;:19;;;;;:33;;;;;;;;;;8552:51;;;;;;;;;;;;;;;;;;;8545:58;;;8625:16;;;:6;:16;;;;;;:30;;;;;;;;8618:37;;;:::i;:::-;8677:14;;;;:4;:14;;;;;;;;:28;;;;;;;;8670:35;;;:::i;:::-;8355:369;;;;;;:::o;17952:440::-;18051:11;;18012:7;;-1:-1:-1;;;;;18051:11:7;18039:10;:23;18031:63;;;;-1:-1:-1;;;;;18031:63:7;;;;;;;;;-1:-1:-1;;;;;18128:12:7;;18105:20;18128:12;;;:4;:12;;;;;;18174:36;18128:12;;18174:8;:36::i;:::-;-1:-1:-1;;;;;18159:12:7;;;;;;;:4;:12;;;;;;;:51;;;;18253:11;;18229:50;;-1:-1:-1;;;;;18229:50:7;;18159:12;;18229:23;;:50;;18253:11;;;18266:12;;18229:50;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;18229:50:7;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;18229:50:7;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;18229:50:7;;;;;;;;;;18317:4;-1:-1:-1;;;;;18295:59:7;;18324:12;18338:15;18295:59;;;;;;;;;;;;;;;;18372:12;17952:440;-1:-1:-1;;17952:440:7:o;3219:78::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3219:78:7;-1:-1:-1;3219:78:7;;-1:-1:-1;3219:78:7:o;5231:105::-;5317:10;5309:19;;;;:7;:19;;;;;;;;;5302:26;;;;;;;;;;;;;;;;;5274:16;;5302:26;;;5309:19;5302:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5231:105;;:::o;10494:156::-;10600:7;10563:8;10573:3;;3428:202;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;;3565:21:7;;;;-1:-1:-1;3582:3:7;;-1:-1:-1;3565:21:7;;;;;;;;-1:-1:-1;;26:21;;;22:32;6:49;;3565:21:7;;;3555:32;;49:4:-1;3555:32:7;;;;3531:18;;;;:8;:18;;;;;;3555:32;;3514:36;;3531:18;3514:36;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;3514:36:7;;;3504:47;;;;;;:83;3496:114;;;;-1:-1:-1;;;;;3496:114:7;;;;;;;;;-1:-1:-1;;;10626:16:7;;;;-1:-1:-1;;10626:6:7;:16;;;;;;;10494:156::o;1746:137:1:-;1163:9;:7;:9::i;:::-;1155:54;;;;-1:-1:-1;;;;;1155:54:1;;;;;;;;;1828:6;;1807:40;;1844:1;;-1:-1:-1;;;;;1828:6:1;;1807:40;;1844:1;;1807:40;1857:6;:19;;-1:-1:-1;;;;;;1857:19:1;;;1746:137::o;3886:116:7:-;3707:11;;3950:10;;-1:-1:-1;;;;;3707:11:7;3698:20;;3690:56;;;;-1:-1:-1;;;;;3690:56:7;;;;;;;;;-1:-1:-1;3972:11:7;:22;;-1:-1:-1;;;;;;3972:22:7;-1:-1:-1;;;;;3972:22:7;;;;;;;;;;3886:116::o;6376:348::-;6517:1;6493:16;;;:6;:16;;;;;:23;6458:13;;6485:56;;;;-1:-1:-1;;;;;6485:56:7;;;;;;;;;6647:4;;6630:22;;;;;;;;;;;;;;-1:-1:-1;;26:21;;;22:32;6:49;;6630:22:7;;;6620:33;;49:4:-1;6620:33:7;;;;6590:14;;;;:4;:14;;;;;:24;;;;;;6620:33;;6573:42;;6590:24;6573:42;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;6573:42:7;;;6563:53;;;;;;:90;6555:114;;;;-1:-1:-1;;;;;6555:114:7;;;;;;;;;6690:18;;;;:8;:18;;;;;;;;;6683:25;;;;;;-1:-1:-1;;6683:25:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6690:18;;6683:25;;6690:18;6683:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6376:348;;;;;;:::o;13351:944::-;13496:4;13459:8;13469:3;;3428:202;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;;3565:21:7;;;;-1:-1:-1;3582:3:7;;-1:-1:-1;3565:21:7;;;;;;;;-1:-1:-1;;26:21;;;22:32;6:49;;3565:21:7;;;3555:32;;49:4:-1;3555:32:7;;;;3531:18;;;;:8;:18;;;;;;3555:32;;3514:36;;3531:18;3514:36;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;3514:36:7;;;3504:47;;;;;;:83;3496:114;;;;-1:-1:-1;;;;;3496:114:7;;;;;;;;;13589:20;;;;;;;;;;;;-1:-1:-1;;26:21;;;22:32;6:49;;13589:20:7;;;13579:31;;49:4:-1;13579:31:7;;;;13547:14;;;;:4;:14;;;;;:28;;;;;;;;;13579:31;;13530:46;;13547:28;13530:46;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;13530:46:7;;;13520:57;;;;;;:90;;13512:99;;;;;;13622:12;;13653:539;13669:22;;;;:12;:22;;;;;:29;13667:31;;13653:539;;;13722:22;;;;:12;:22;;;;;:25;;13758:5;;13722:22;13745:1;;13722:25;;;;;;;;;;;;;;;;:34;;;:41;13719:462;;;13783:19;;13825:229;13849:22;;;;:12;:22;;;;;:25;;13872:1;;13849:25;;;;;;;;;;;;;;;;:35;;:42;;;;13845:1;:46;13825:229;;;13925:22;;;;:12;:22;;;;;:25;;13948:1;;13925:25;;;;;;;;;;;;;;;;:35;;13961:1;13925:38;;;;;;;;;;;;;;;;:44;;13921:114;;13998:13;;;;;13921:114;13893:3;;13825:229;;;-1:-1:-1;14091:16:7;;;;:6;:16;;;;;;14076:31;;14072:94;;14142:4;14132:14;;14072:94;13719:462;;13700:3;;13653:539;;;;14213:7;14210:77;;;14242:4;14235:11;;;;;14210:77;14282:5;14275:12;;;3621:1;13351:944;;;;;;;;;:::o;9219:451::-;9361:12;9375:3;;3428:202;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;;3565:21:7;;;;-1:-1:-1;3582:3:7;;-1:-1:-1;3565:21:7;;;;;;;;-1:-1:-1;;26:21;;;22:32;6:49;;3565:21:7;;;3555:32;;49:4:-1;3555:32:7;;;;3531:18;;;;:8;:18;;;;;;3555:32;;3514:36;;3531:18;3514:36;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;3514:36:7;;;3504:47;;;;;;:83;3496:114;;;;-1:-1:-1;;;;;3496:114:7;;;;;;;;;9432:1;9408:16;;;:6;:16;;;;;:23;9400:34;;;;;;9448:13;9445:216;;;9477:14;;;;:4;:14;;;;;;;;:28;;;;;;;;:35;;9508:4;;9477:35;:::i;:::-;;9532:42;9545:8;9555:12;9569:4;9532:42;;;;;;;;;;;;;;;;;9445:216;;;9618:43;9631:8;9641:12;9655:5;9618:43;;;;;;;;;;;;;;;;;9445:216;9219:451;;;;;;;;;:::o;7154:832::-;7274:8;7284:3;;3428:202;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;;3565:21:7;;;;-1:-1:-1;3582:3:7;;-1:-1:-1;3565:21:7;;;;;;;;-1:-1:-1;;26:21;;;22:32;6:49;;3565:21:7;;;3555:32;;49:4:-1;3555:32:7;;;;3531:18;;;;:8;:18;;;;;;3555:32;;3514:36;;3531:18;3514:36;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;3514:36:7;;;3504:47;;;;;;:83;3496:114;;;;-1:-1:-1;;;;;3496:114:7;;;;;;;;;7491:6;;7474:24;;;;;;;;;;;;;;-1:-1:-1;;26:21;;;22:32;6:49;;7474:24:7;;;7464:35;;49:4:-1;7464:35:7;;;;7430:16;;;;:6;:16;;;;;:30;;;;;;;;;7464:35;;7413:48;;7430:30;7413:48;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;7413:48:7;;;7403:59;;;;;;:96;7400:153;;7514:16;;;;:6;:16;;;;;;;;:30;;;;;;;;:39;;7547:6;;7514:39;:::i;:::-;;7400:153;7564:12;;7595:141;7611:16;;;;:6;:16;;;;;:23;7609:25;;7595:141;;;7658:16;;;;:6;:16;;;;;:19;;7679:12;;7658:16;7675:1;;7658:19;;;;;;;;;;;;;;:33;7655:69;;;7720:4;7710:14;;7655:69;7636:3;;7595:141;;;;7759:12;7749:8;:22;;:34;;;;;7776:7;7775:8;7749:34;7746:233;;;7835:16;;;;:6;:16;;;;;;;;:23;;7799:9;:19;;;;;:33;;;;;;;;:59;;;7873:16;;;39:1:-1;23:18;;45:23;;7873:35:7;;;;;;;;7929:38;;;;;7842:8;;7819:12;;7929:38;;4373:311;4461:16;;;;:6;:16;;;;;:23;:26;4453:35;;;;;;4507:10;4499:19;;;;:7;:19;;;;;;;;27:10:-1;;39:1;23:18;;45:23;;4499:34:7;;;;;;;;;;4544:18;;;:8;:18;;;;;:24;;4565:3;;4544:24;:::i;:::-;-1:-1:-1;;;4611:16:7;;;;:6;:16;;;;;;;;:23;;4579:9;:19;;;;;:29;;;;;:55;;;4645:16;;;39:1:-1;23:18;;45:23;;4645:31:7;;;;;;;;4373:311::o;959:77:1:-;1023:6;;-1:-1:-1;;;;;1023:6:1;959:77;:::o;1310:92::-;1389:6;;1350:4;;-1:-1:-1;;;;;1389:6:1;1373:12;:10;:12::i;:::-;-1:-1:-1;;;;;1373:22:1;;1366:29;;1310:92;:::o;14602:832:7:-;14723:15;14686:8;14696:3;;3428:202;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;;3565:21:7;;;;-1:-1:-1;3582:3:7;;-1:-1:-1;3565:21:7;;;;;;;;-1:-1:-1;;26:21;;;22:32;6:49;;3565:21:7;;;3555:32;;49:4:-1;3555:32:7;;;;3531:18;;;;:8;:18;;;;;;3555:32;;3514:36;;3531:18;3514:36;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;3514:36:7;;;3504:47;;;;;;:83;3496:114;;;;-1:-1:-1;;;;;3496:114:7;;;;;;;;;14754:6;14750:677;14766:22;;;;:12;:22;;;;;:29;14764:31;;14750:677;;;14819:22;;;;:12;:22;;;;;:25;;14855:5;;14819:22;14842:1;;14819:25;;;;;;;;;;;;;;;;:34;;;:41;14816:600;;;14929:16;;;;:6;:16;;;;;;;;;14883:12;:22;;;;;;:25;;14906:1;;14883:25;;;;;;;;;;;;;;;;:35;;:42;;;;:62;14880:521;;15010:22;;;;:12;:22;;;;;:25;;14969;;15010:22;15033:1;;15010:25;;;;;;;;;;;;;;;;:35;;:42;;;;14997:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14969:84:7;-1:-1:-1;15080:6:7;15076:210;15092:22;;;;:12;:22;;;;;:25;;15115:1;;15092:25;;;;;;;;;;;;;;;;:35;;:42;;;;15090:1;:44;15076:210;;;15182:16;;;;:6;:16;;;;;;;;15199:12;:22;;;;;:25;;15182:16;;;15222:1;;15199:25;;;;;;;;;;;;;;;;:35;;15235:1;15199:38;;;;;;;;;;;;;;;;15182:56;;;;;;;;;;;15167:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:9;15177:1;15167:12;;;;;;;;;;;;;;;;;:71;15136:3;;15076:210;;;-1:-1:-1;15372:9:7;-1:-1:-1;15365:16:7;;-1:-1:-1;15365:16:7;14880:521;14797:3;;14750:677;;;;3621:1;14602:832;;;;;;;;:::o;15745:330::-;15835:8;15845:3;;3428:202;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;;3565:21:7;;;;-1:-1:-1;3582:3:7;;-1:-1:-1;3565:21:7;;;;;;;;-1:-1:-1;;26:21;;;22:32;6:49;;3565:21:7;;;3555:32;;49:4:-1;3555:32:7;;;;3531:18;;;;:8;:18;;;;;;3555:32;;3514:36;;3531:18;3514:36;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;3514:36:7;;;3504:47;;;;;;:83;3496:114;;;;-1:-1:-1;;;;;3496:114:7;;;;;;;;;15934:35;;-1:-1:-1;;;;;15934:35:7;;15909:22;;-1:-1:-1;;;;;15934:23:7;;;;;:35;;15958:10;;15934:35;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15934:35:7;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15934:35:7;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;15934:35:7;;;;;;;;;15994:10;15980:25;;;;:13;:25;;;;;;;;-1:-1:-1;;;;;15980:32:7;;;;;;;;;;;;16018:48;;;;;;;;16034:15;16018:48;;;;;;;;27:10:-1;;39:1;23:18;;;45:23;;15980:87:7;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;15745:330:7:o;16649:1151::-;16781:8;16791:3;;3428:202;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;;3565:21:7;;;;-1:-1:-1;3582:3:7;;-1:-1:-1;3565:21:7;;;;;;;;-1:-1:-1;;26:21;;;22:32;6:49;;3565:21:7;;;3555:32;;49:4:-1;3555:32:7;;;;3531:18;;;;:8;:18;;;;;;3555:32;;3514:36;;3531:18;3514:36;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;3514:36:7;;;3504:47;;;;;;:83;3496:114;;;;-1:-1:-1;;;;;3496:114:7;;;;;;;;;16868:10;16816:35;16854:25;;;:13;:25;;;;;;;;-1:-1:-1;;;;;16854:32:7;;;;;;;;;;16816:35;;;16981:252;17002:16;;16998:20;;16981:252;;;17070:8;17044:9;17054:1;17044:12;;;;;;;;;;;;;;;;;;:22;;;:34;;:70;;;;;17108:6;17082:9;17092:1;17082:12;;;;;;;;;;;;;;;;;;:22;;;:32;;17044:70;17040:182;;;17144:9;17154:1;17144:12;;;;;;;;;;;;;;;;;;:20;;;17135:29;;;;17183:7;;;;;;;17040:182;17020:3;;16981:252;;;;17248:24;17259:5;17266;17248:24;;;;;;;;;;;;;;;;17287:10;;17283:509;;17319:122;17338:64;17357:10;;17369:32;17388:5;17395;17369:18;:32::i;:::-;17338:18;:64::i;:::-;17404:36;17433:5;17404:21;:36::i;:::-;17319:18;:122::i;:::-;17313:128;;17469:57;17484:3;17489:36;17518:5;17489:21;:36::i;:::-;17469:14;:57::i;:::-;-1:-1:-1;;;;;17557:11:7;;;;;;:4;:11;;;;;;;;17570:10;;17546:40;;17463:63;;-1:-1:-1;17546:40:7;;;;17570:10;17463:63;;17546:40;;;;;;;;;;17601:58;;-1:-1:-1;;;;;17601:58:7;;-1:-1:-1;;;;;17601:26:7;;;;;:58;;17628:10;;17648:4;;17655:3;;17601:58;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;17601:58:7;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;17601:58:7;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;17601:58:7;;;;;;;;;-1:-1:-1;;;;;;17703:11:7;;;;;;:4;:11;;;;;;17694:26;;17716:3;17694:8;:26::i;:::-;-1:-1:-1;;;;;17680:11:7;;;;;;:4;:11;;;;;;;:40;;;17764:10;;17740:40;;;;;;17680;;17776:3;;17740:40;;;;;;;;;;17283:509;3621:1;;;;16649:1151;;;;;;;;:::o;741:142:1:-;1024:12:4;;;;;;;;:31;;;1040:15;:13;:15::i;:::-;1024:47;;;-1:-1:-1;1060:11:4;;;;1059:12;1024:47;1016:106;;;;-1:-1:-1;;;;;1016:106:4;;;;;;;;;1129:19;1152:12;;;;;;1151:13;1170:80;;;;1198:12;:19;;-1:-1:-1;;;;1198:19:4;;;;;1225:18;1213:4;1225:18;;;1170:80;806:6:1;:15;;-1:-1:-1;;;;;;806:15:1;-1:-1:-1;;;;;806:15:1;;;;;;;;;;;836:40;;869:6;;;-1:-1:-1;;836:40:1;;-1:-1:-1;;836:40:1;1268:14:4;1264:55;;;1307:5;1292:20;;-1:-1:-1;;1292:20:4;;;1264:55;741:142:1;;:::o;10996:564:7:-;11072:8;11082:3;;3428:202;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;;3565:21:7;;;;-1:-1:-1;3582:3:7;;-1:-1:-1;3565:21:7;;;;;;;;-1:-1:-1;;26:21;;;22:32;6:49;;3565:21:7;;;3555:32;;49:4:-1;3555:32:7;;;;3531:18;;;;:8;:18;;;;;;3555:32;;3514:36;;3531:18;3514:36;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;3514:36:7;;;3504:47;;;;;;:83;3496:114;;;;-1:-1:-1;;;;;3496:114:7;;;;;;;;;11143:16;;;;:6;:16;;;;;;;;;:23;11129:38;;;;;;;;;;;;;;;;11107:19;;11129:38;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;136:17;;-1:-1;11129:38:7;;11107:60;;11204:4;;11185:15;:23;:52;;11222:15;11185:52;;;11211:4;;11218:1;11211:8;11185:52;11178:4;:59;11248:28;;:::i;:::-;-1:-1:-1;11279:83:7;;;;;;;;11317:4;;11279:83;;;;;;;;;-1:-1:-1;11373:22:7;;;:12;:22;;;;;27:10:-1;;39:1;23:18;;;45:23;;;11373:38:7;;;;;;;;;;;;;;;;;;;;;11279:83;;23:18:-1;;11279:83:7;;11373:38;;;;;;;;:::i;:::-;-1:-1:-1;11426:9:7;;-1:-1:-1;;;11422:131:7;11441:16;;;;:6;:16;;;;;:23;11439:25;;11422:131;;;11515:16;;;;:6;:16;;;;;:19;;11490:51;;11505:8;;11532:1;;11515:19;;;;;;;;;;;;;;11536:4;;11490:51;;;;;;;;;;;;;;;;;11466:3;;11422:131;;;;3621:1;;10996:564;;;;;:::o;5672:469::-;5766:8;5776:3;;3428:202;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;;3565:21:7;;;;-1:-1:-1;3582:3:7;;-1:-1:-1;3565:21:7;;;;;;;;-1:-1:-1;;26:21;;;22:32;6:49;;3565:21:7;;;3555:32;;49:4:-1;3555:32:7;;;;3531:18;;;;:8;:18;;;;;;3555:32;;3514:36;;3531:18;3514:36;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;3514:36:7;;;3504:47;;;;;;:83;3496:114;;;;-1:-1:-1;;;;;3496:114:7;;;;;;;;;5801:10;;5830:205;5854:10;5846:19;;;;:7;:19;;;;;:26;5844:28;;5830:205;;;5904:10;5896:19;;;;:7;:19;;;;;:22;;5920:8;;5896:19;5916:1;;5896:22;;;;;;;;;;;;;;:32;5893:131;;;5994:10;5986:19;;;;:7;:19;;;;;:22;;5956:4;;-1:-1:-1;6006:1:7;;5986:22;;;;;;;;;;;;;;5979:29;5893:131;5874:3;;5830:205;;;-1:-1:-1;6060:4:7;6053:11;;;;6045:42;;;;-1:-1:-1;;;;;6045:42:7;;;;;;;;;-1:-1:-1;;;;;;;;6098:20:7;;;;;:7;:20;;;;;;;27:10:-1;;39:1;23:18;;45:23;;6098:35:7;;;;;;;;;;-1:-1:-1;;5672:469:7:o;10026:176::-;10124:8;10134:3;;3428:202;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;;3565:21:7;;;;-1:-1:-1;3582:3:7;;-1:-1:-1;3565:21:7;;;;;;;;-1:-1:-1;;26:21;;;22:32;6:49;;3565:21:7;;;3555:32;;49:4:-1;3555:32:7;;;;3531:18;;;;:8;:18;;;;;;3555:32;;3514:36;;3531:18;3514:36;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;3514:36:7;;;3504:47;;;;;;:83;3496:114;;;;-1:-1:-1;;;;;3496:114:7;;;;;;;;;-1:-1:-1;;10159:16:7;;;;:6;:16;;;;;;:35;;;;-1:-1:-1;;10026:176:7:o;2032:107:1:-;1163:9;:7;:9::i;:::-;1155:54;;;;-1:-1:-1;;;;;1155:54:1;;;;;;;;;2104:28;2123:8;2104:18;:28::i;:::-;2032:107;:::o;4993:158:7:-;5083:8;5093:3;;3428:202;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;;3565:21:7;;;;-1:-1:-1;3582:3:7;;-1:-1:-1;3565:21:7;;;;;;;;-1:-1:-1;;26:21;;;22:32;6:49;;3565:21:7;;;3555:32;;49:4:-1;3555:32:7;;;;3531:18;;;;:8;:18;;;;;;3555:32;;3514:36;;3531:18;3514:36;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;3514:36:7;;;3504:47;;;;;;:83;3496:114;;;;-1:-1:-1;;;;;3496:114:7;;;;;;;;;5118:18;;;;:8;:18;;;;;:25;;5139:4;;5118:25;:::i;1129:164:10:-;1187:7;1220:1;1215;:6;;1207:31;;;;-1:-1:-1;;;;;1207:31:10;;;;;;;;;-1:-1:-1;1261:5:10;;;1129:164;;;;;:::o;867:96:0:-;946:10;867:96;:::o;2664:354:8:-;2726:7;2754:6;2746:32;;;;-1:-1:-1;;;;;2746:32:8;;;;;;;;;2795:6;2791:220;;-1:-1:-1;2825:1:8;2818:8;;2791:220;875:4;2879:7;;;;:1;:7;:1;2909:13;;;;;:20;2901:45;;;;-1:-1:-1;;;;;2901:45:8;;;;;;;;;2998:1;2986:9;:13;;;;;;2979:20;;;;;1814:208;1876:7;1914:5;;;1938:6;;;:26;;;1963:1;1958;1948:7;:11;;;;;;:16;1938:26;1930:51;;;;-1:-1:-1;;;;;1930:51:8;;;;;;;;;875:4;2001:13;;;;-1:-1:-1;;;1814:208:8:o;18566:434:7:-;18634:7;18735:21;18781:5;-1:-1:-1;;;;;18759:38:7;;:40;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;18759:40:7;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;18759:40:7;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;18759:40:7;;;;;;;;;18735:64;;;;18877:26;18906:27;18915:2;18919:13;18906:8;:27::i;:::-;18877:56;;18974:18;18970:2;:22;18951:10;:14;:16;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;18951:16:7;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;18951:16:7;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;18951:16:7;;;;;;;;;:41;;18566:434;-1:-1:-1;;;;18566:434:7:o;19210:162::-;19296:7;19323:41;19342:6;19350:13;19323:18;:41::i;542:164:10:-;600:7;632:5;;;656:6;;;;648:31;;;;-1:-1:-1;;;;;648:31:10;;;;;;;;1409:498:4;1820:4;1864:17;1895:7;1409:498;:::o;2240:225:1:-;-1:-1:-1;;;;;2313:22:1;;2305:73;;;;-1:-1:-1;;;;;2305:73:1;;;;;;;;;2414:6;;2393:38;;-1:-1:-1;;;;;2393:38:1;;;;2414:6;;2393:38;;2414:6;;2393:38;2441:6;:17;;-1:-1:-1;;;;;;2441:17:1;-1:-1:-1;;;;;2441:17:1;;;;;;;;;;2240:225::o;558:19572:7:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;558:19572:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;558:19572:7;;;-1:-1:-1;558:19572:7;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5:118:-1;;72:46;110:6;97:20;72:46;;130:112;;194:43;229:6;216:20;194:43;;249:116;;324:36;352:6;346:13;324:36;;372:118;;439:46;477:6;464:20;439:46;;512:336;;;627:3;620:4;612:6;608:17;604:27;594:2;;645:1;642;635:12;594:2;-1:-1;665:20;;-1:-1;;;;;694:30;;691:2;;;737:1;734;727:12;691:2;771:4;763:6;759:17;747:29;;821:3;814;806:6;802:16;792:8;788:31;785:40;782:2;;;838:1;835;828:12;782:2;587:261;;;;;;981:122;;1059:39;1090:6;1084:13;1059:39;;1110:118;;1186:37;1215:6;1209:13;1186:37;;1235:241;;1339:2;1327:9;1318:7;1314:23;1310:32;1307:2;;;1355:1;1352;1345:12;1307:2;1390:1;1407:53;1452:7;1432:9;1407:53;;;1397:63;1301:175;-1:-1;;;;1301:175;1483:491;;;;1621:2;1609:9;1600:7;1596:23;1592:32;1589:2;;;1637:1;1634;1627:12;1589:2;1672:1;1689:53;1734:7;1714:9;1689:53;;;1679:63;;1651:97;1779:2;1797:53;1842:7;1833:6;1822:9;1818:22;1797:53;;;1787:63;;1758:98;1887:2;1905:53;1950:7;1941:6;1930:9;1926:22;1905:53;;;1895:63;;1866:98;1583:391;;;;;;1981:257;;2093:2;2081:9;2072:7;2068:23;2064:32;2061:2;;;2109:1;2106;2099:12;2061:2;2144:1;2161:61;2214:7;2194:9;2161:61;;2245:492;;;;2386:2;2374:9;2365:7;2361:23;2357:32;2354:2;;;2402:1;2399;2392:12;2354:2;2437:1;2454:53;2499:7;2479:9;2454:53;;;2444:63;;2416:97;2572:2;2561:9;2557:18;2544:32;-1:-1;;;;;2588:6;2585:30;2582:2;;;2628:1;2625;2618:12;2582:2;2656:65;2713:7;2704:6;2693:9;2689:22;2656:65;;;2646:75;;;;2523:204;2348:389;;;;;;2744:617;;;;;2902:2;2890:9;2881:7;2877:23;2873:32;2870:2;;;2918:1;2915;2908:12;2870:2;2953:1;2970:53;3015:7;2995:9;2970:53;;;2960:63;;2932:97;3088:2;3077:9;3073:18;3060:32;-1:-1;;;;;3104:6;3101:30;3098:2;;;3144:1;3141;3134:12;3098:2;3172:65;3229:7;3220:6;3209:9;3205:22;3172:65;;;3162:75;;;;3039:204;3274:2;3292:53;3337:7;3328:6;3317:9;3313:22;3292:53;;;3282:63;;3253:98;2864:497;;;;;;;;3368:869;;;;;;;3560:3;3548:9;3539:7;3535:23;3531:33;3528:2;;;3577:1;3574;3567:12;3528:2;3612:1;3629:53;3674:7;3654:9;3629:53;;;3619:63;;3591:97;3747:2;3736:9;3732:18;3719:32;-1:-1;;;;;3763:6;3760:30;3757:2;;;3803:1;3800;3793:12;3757:2;3831:65;3888:7;3879:6;3868:9;3864:22;3831:65;;;3821:75;;;;3698:204;3933:2;3951:53;3996:7;3987:6;3976:9;3972:22;3951:53;;;3941:63;;3912:98;4041:2;4059:53;4104:7;4095:6;4084:9;4080:22;4059:53;;;4049:63;;4020:98;4149:3;4168:53;4213:7;4204:6;4193:9;4189:22;4168:53;;;4158:63;;4128:99;3522:715;;;;;;;;;4244:617;;;;;4402:2;4390:9;4381:7;4377:23;4373:32;4370:2;;;4418:1;4415;4408:12;4370:2;4453:1;4470:53;4515:7;4495:9;4470:53;;;4460:63;;4432:97;4588:2;4577:9;4573:18;4560:32;-1:-1;;;;;4604:6;4601:30;4598:2;;;4644:1;4641;4634:12;4598:2;4672:65;4729:7;4720:6;4709:9;4705:22;4672:65;;;4662:75;;;;4539:204;4774:2;4792:53;4837:7;4828:6;4817:9;4813:22;4792:53;;4868:869;;;;;;;5063:3;5051:9;5042:7;5038:23;5034:33;5031:2;;;5080:1;5077;5070:12;5031:2;5115:1;5132:53;5177:7;5157:9;5132:53;;;5122:63;;5094:97;5250:2;5239:9;5235:18;5222:32;-1:-1;;;;;5266:6;5263:30;5260:2;;;5306:1;5303;5296:12;5260:2;5334:65;5391:7;5382:6;5371:9;5367:22;5334:65;;;5324:75;;;;5201:204;5436:2;5454:53;5499:7;5490:6;5479:9;5475:22;5454:53;;;5444:63;;5415:98;5572:2;5561:9;5557:18;5544:32;-1:-1;;;;;5588:6;5585:30;5582:2;;;5628:1;5625;5618:12;5582:2;5656:65;5713:7;5704:6;5693:9;5689:22;5656:65;;;5646:75;;;;5523:204;5025:712;;;;;;;;;5744:989;;;;;;;;5953:3;5941:9;5932:7;5928:23;5924:33;5921:2;;;5970:1;5967;5960:12;5921:2;6005:1;6022:53;6067:7;6047:9;6022:53;;;6012:63;;5984:97;6140:2;6129:9;6125:18;6112:32;-1:-1;;;;;6156:6;6153:30;6150:2;;;6196:1;6193;6186:12;6150:2;6224:65;6281:7;6272:6;6261:9;6257:22;6224:65;;;6214:75;;;;6091:204;6326:2;6344:53;6389:7;6380:6;6369:9;6365:22;6344:53;;;6334:63;;6305:98;6462:2;6451:9;6447:18;6434:32;-1:-1;;;;;6478:6;6475:30;6472:2;;;6518:1;6515;6508:12;6472:2;6546:65;6603:7;6594:6;6583:9;6579:22;6546:65;;;6536:75;;;;6413:204;6648:3;6667:50;6709:7;6700:6;6689:9;6685:22;6667:50;;;6657:60;;6627:96;5915:818;;;;;;;;;;;6740:743;;;;;;6915:3;6903:9;6894:7;6890:23;6886:33;6883:2;;;6932:1;6929;6922:12;6883:2;6967:1;6984:53;7029:7;7009:9;6984:53;;;6974:63;;6946:97;7102:2;7091:9;7087:18;7074:32;-1:-1;;;;;7118:6;7115:30;7112:2;;;7158:1;7155;7148:12;7112:2;7186:65;7243:7;7234:6;7223:9;7219:22;7186:65;;;7176:75;;;;7053:204;7288:2;7306:53;7351:7;7342:6;7331:9;7327:22;7306:53;;;7296:63;;7267:98;7396:2;7414:53;7459:7;7450:6;7439:9;7435:22;7414:53;;;7404:63;;7375:98;6877:606;;;;;;;;;7490:995;;;;;;;;7702:3;7690:9;7681:7;7677:23;7673:33;7670:2;;;7719:1;7716;7709:12;7670:2;7754:1;7771:53;7816:7;7796:9;7771:53;;;7761:63;;7733:97;7889:2;7878:9;7874:18;7861:32;-1:-1;;;;;7905:6;7902:30;7899:2;;;7945:1;7942;7935:12;7899:2;7973:65;8030:7;8021:6;8010:9;8006:22;7973:65;;;7963:75;;;;7840:204;8075:2;8093:53;8138:7;8129:6;8118:9;8114:22;8093:53;;;8083:63;;8054:98;8183:2;8201:53;8246:7;8237:6;8226:9;8222:22;8201:53;;;8191:63;;8162:98;8319:3;8308:9;8304:19;8291:33;-1:-1;;;;;8336:6;8333:30;8330:2;;;8376:1;8373;8366:12;8330:2;8404:65;8461:7;8452:6;8441:9;8437:22;8404:65;;;8394:75;;;;8270:205;7664:821;;;;;;;;;;;8492:743;;;;;;8670:2;8658:9;8649:7;8645:23;8641:32;8638:2;;;8686:1;8683;8676:12;8638:2;8721:1;8738:53;8783:7;8763:9;8738:53;;;8728:63;;8700:97;8856:2;8845:9;8841:18;8828:32;-1:-1;;;;;8872:6;8869:30;8866:2;;;8912:1;8909;8902:12;8866:2;8940:65;8997:7;8988:6;8977:9;8973:22;8940:65;;;8930:75;;;;8807:204;9070:2;9059:9;9055:18;9042:32;-1:-1;;;;;9086:6;9083:30;9080:2;;;9126:1;9123;9116:12;9080:2;9154:65;9211:7;9202:6;9191:9;9187:22;9154:65;;;9144:75;;;;9021:204;8632:603;;;;;;;;;9866:241;;9970:2;9958:9;9949:7;9945:23;9941:32;9938:2;;;9986:1;9983;9976:12;9938:2;10021:1;10038:53;10083:7;10063:9;10038:53;;10114:263;;10229:2;10217:9;10208:7;10204:23;10200:32;10197:2;;;10245:1;10242;10235:12;10197:2;10280:1;10297:64;10353:7;10333:9;10297:64;;10384:259;;10497:2;10485:9;10476:7;10472:23;10468:32;10465:2;;;10513:1;10510;10503:12;10465:2;10548:1;10565:62;10619:7;10599:9;10565:62;;10651:173;;10738:46;10780:3;10772:6;10738:46;;;-1:-1;;10813:4;10804:14;;10731:93;10833:181;;10946:62;11004:3;10996:6;10946:62;;11022:142;11113:45;11152:5;11113:45;;;11108:3;11101:58;11095:69;;;11171:120;11254:31;11279:5;11254:31;;11329:621;;11474:54;11522:5;11474:54;;;11541:86;11620:6;11615:3;11541:86;;;11534:93;;11647:56;11697:5;11647:56;;;11724:1;11709:219;11734:6;11731:1;11728:13;11709:219;;;11781:63;11840:3;11831:6;11825:13;11781:63;;;11774:70;;11861:60;11914:6;11861:60;;;11851:70;-1:-1;11756:1;11749:9;11709:219;;;-1:-1;11941:3;;11453:497;-1:-1;;;;11453:497;11987:827;;12144:60;12198:5;12144:60;;;12217:92;12302:6;12297:3;12217:92;;;12210:99;;12332:3;12374:4;12366:6;12362:17;12357:3;12353:27;12400:62;12456:5;12400:62;;;12483:1;12468:307;12493:6;12490:1;12487:13;12468:307;;;12555:9;12549:4;12545:20;12540:3;12533:33;12581:76;12652:4;12643:6;12637:13;12581:76;;;12573:84;;12674:66;12733:6;12674:66;;;12763:4;12754:14;;;;;12664:76;-1:-1;12515:1;12508:9;12468:307;;;-1:-1;12788:4;;12123:691;-1:-1;;;;;;12123:691;12822:111;12899:28;12921:5;12899:28;;12940:110;13013:31;13038:5;13013:31;;13207:303;;13340:89;13422:6;13417:3;13340:89;;;13333:96;;13434:43;13470:6;13465:3;13458:5;13434:43;;;-1:-1;;13489:16;;13327:183;13517:347;;13629:39;13662:5;13629:39;;;13680:71;13744:6;13739:3;13680:71;;;13673:78;;13756:52;13801:6;13796:3;13789:4;13782:5;13778:16;13756:52;;;13829:29;13851:6;13829:29;;;13820:39;;;;13609:255;-1:-1;;;13609:255;13871:360;;14001:39;14034:5;14001:39;;;14052:89;14134:6;14129:3;14052:89;;;14045:96;;14146:52;14191:6;14186:3;14179:4;14172:5;14168:16;14146:52;;;14210:16;;;;;13981:250;-1:-1;;13981:250;14589:884;;14726:5;14720:12;14760:1;14749:9;14745:17;14773:1;14768:268;;;;15047:1;15042:425;;;;14738:729;;14768:268;14846:4;14842:1;14831:9;14827:17;14823:28;14865:89;14947:6;14942:3;14865:89;;;-1:-1;;14973:25;;14961:38;;14858:96;-1:-1;15013:16;;;-1:-1;14768:268;;15042:425;15111:1;15100:9;15096:17;15127:89;15209:6;15204:3;15127:89;;;15120:96;;15238:38;15270:5;15238:38;;;15292:1;15300:130;15314:6;15311:1;15308:13;15300:130;;;15373:14;;15360:11;;;15353:35;15420:1;15407:15;;;;15336:4;15329:12;15300:130;;;-1:-1;;15444:16;;;-1:-1;14738:729;;14696:777;;;;;;15482:465;;15642:67;15706:2;15701:3;15642:67;;;15742:66;15722:87;;-1:-1;;;;;15838:2;15829:12;;15822:88;15938:2;15929:12;;15628:319;-1:-1;;15628:319;15956:364;;16116:67;16180:2;16175:3;16116:67;;;16216:66;16196:87;;16311:2;16302:12;;16102:218;-1:-1;;16102:218;16329:364;;16489:67;16553:2;16548:3;16489:67;;;16589:66;16569:87;;16684:2;16675:12;;16475:218;-1:-1;;16475:218;16702:364;;16862:67;16926:2;16921:3;16862:67;;;16962:66;16942:87;;17057:2;17048:12;;16848:218;-1:-1;;16848:218;17075:364;;17235:67;17299:2;17294:3;17235:67;;;17335:66;17315:87;;17430:2;17421:12;;17221:218;-1:-1;;17221:218;17448:465;;17608:67;17672:2;17667:3;17608:67;;;17708:66;17688:87;;17809:66;17804:2;17795:12;;17788:88;17904:2;17895:12;;17594:319;-1:-1;;17594:319;17922:364;;18082:67;18146:2;18141:3;18082:67;;;18182:66;18162:87;;18277:2;18268:12;;18068:218;-1:-1;;18068:218;18295:364;;18455:67;18519:2;18514:3;18455:67;;;18555:66;18535:87;;18650:2;18641:12;;18441:218;-1:-1;;18441:218;18668:364;;18828:67;18892:2;18887:3;18828:67;;;18928:66;18908:87;;19023:2;19014:12;;18814:218;-1:-1;;18814:218;19041:298;;19219:84;19301:1;19296:3;19219:84;;19348:364;;19508:67;19572:2;19567:3;19508:67;;;19608:66;19588:87;;19703:2;19694:12;;19494:218;-1:-1;;19494:218;19721:364;;19881:67;19945:2;19940:3;19881:67;;;-1:-1;;;;;19961:87;;20076:2;20067:12;;19867:218;-1:-1;;19867:218;20094:364;;20254:67;20318:2;20313:3;20254:67;;;20354:66;20334:87;;20449:2;20440:12;;20240:218;-1:-1;;20240:218;20467:364;;20627:67;20691:2;20686:3;20627:67;;;20727:66;20707:87;;20822:2;20813:12;;20613:218;-1:-1;;20613:218;20966:286;;21122:105;21223:3;21214:6;21206;21122:105;;21259:266;;21405:95;21496:3;21487:6;21405:95;;21532:260;;21675:92;21763:3;21754:6;21675:92;;21799:372;;21998:148;22142:3;21998:148;;22178:213;22296:2;22281:18;;22310:71;22285:9;22354:6;22310:71;;22398:229;22524:2;22509:18;;22538:79;22513:9;22590:6;22538:79;;22634:451;22816:2;22801:18;;22830:79;22805:9;22882:6;22830:79;;;22920:72;22988:2;22977:9;22973:18;22964:6;22920:72;;;23003;23071:2;23060:9;23056:18;23047:6;23003:72;;23092:324;23238:2;23223:18;;23252:71;23227:9;23296:6;23252:71;;;23334:72;23402:2;23391:9;23387:18;23378:6;23334:72;;23423:361;23591:2;23605:47;;;23576:18;;23666:108;23576:18;23760:6;23666:108;;23791:385;23971:2;23985:47;;;23956:18;;24046:120;23956:18;24152:6;24046:120;;24183:201;24295:2;24280:18;;24309:65;24284:9;24347:6;24309:65;;24391:324;24537:2;24522:18;;24551:71;24526:9;24595:6;24551:71;;24722:423;24890:2;24875:18;;24904:71;24879:9;24948:6;24904:71;;;24986:72;25054:2;25043:9;25039:18;25030:6;24986:72;;;25069:66;25131:2;25120:9;25116:18;25107:6;25069:66;;25152:435;25326:2;25311:18;;25340:71;25315:9;25384:6;25340:71;;;25422:72;25490:2;25479:9;25475:18;25466:6;25422:72;;25594:301;25732:2;25746:47;;;25717:18;;25807:78;25717:18;25871:6;25807:78;;25902:407;26093:2;26107:47;;;26078:18;;26168:131;26078:18;26168:131;;26316:407;26507:2;26521:47;;;26492:18;;26582:131;26492:18;26582:131;;26730:407;26921:2;26935:47;;;26906:18;;26996:131;26906:18;26996:131;;27144:407;27335:2;27349:47;;;27320:18;;27410:131;27320:18;27410:131;;27558:407;27749:2;27763:47;;;27734:18;;27824:131;27734:18;27824:131;;27972:407;28163:2;28177:47;;;28148:18;;28238:131;28148:18;28238:131;;28386:407;28577:2;28591:47;;;28562:18;;28652:131;28562:18;28652:131;;28800:407;28991:2;29005:47;;;28976:18;;29066:131;28976:18;29066:131;;29214:407;29405:2;29419:47;;;29390:18;;29480:131;29390:18;29480:131;;29628:407;29819:2;29833:47;;;29804:18;;29894:131;29804:18;29894:131;;30042:407;30233:2;30247:47;;;30218:18;;30308:131;30218:18;30308:131;;30456:407;30647:2;30661:47;;;30632:18;;30722:131;30632:18;30722:131;;30870:407;31061:2;31075:47;;;31046:18;;31136:131;31046:18;31136:131;;31284:213;31402:2;31387:18;;31416:71;31391:9;31460:6;31416:71;;32279:121;32388:4;32376:17;;32357:43;32549:126;;32616:15;;;32663:4;32650:18;;;32608:67;32684:107;32774:12;;32758:33;33381:178;33499:19;;;33548:4;33539:14;;33492:67;34095:145;34231:3;34209:31;-1:-1;34209:31;34248:105;;34317:31;34342:5;34317:31;;34360:92;34433:13;34426:21;;34409:43;34545:128;-1:-1;;;;;34614:54;;34597:76;35284:88;35362:4;35351:16;;35334:38;35379:129;;35466:37;35497:5;35515:121;35594:37;35625:5;35594:37;;35766:145;35847:6;35842:3;35837;35824:30;-1:-1;35903:1;35885:16;;35878:27;35817:94;35920:268;35985:1;35992:101;36006:6;36003:1;36000:13;35992:101;;;36073:11;;;36067:18;36054:11;;;36047:39;36028:2;36021:10;35992:101;;;36108:6;36105:1;36102:13;36099:2;;;36173:1;36164:6;36159:3;36155:16;36148:27;36099:2;35969:219;;;;;36196:97;36284:2;36264:14;-1:-1;;36260:28;;36244:49",
    "source": "// Implementation of the Verified custody vault\r\n// Manages accounts, participants and vault policies\r\n// (c) Kallol Borah, Verified Network, 2021\r\n\r\npragma solidity 0.5.7;\r\npragma experimental ABIEncoderV2;\r\n\r\nimport \"./IVault.sol\";\r\nimport \"./math/Math.sol\";\r\nimport \"./math/FixedPoint.sol\";\r\nimport \"@openzeppelin/contracts-ethereum-package/contracts/ownership/Ownable.sol\";\r\nimport \"@openzeppelin/contracts-ethereum-package/contracts/token/ERC20/IERC20.sol\";\r\nimport \"@openzeppelin/contracts-ethereum-package/contracts/token/ERC20/ERC20Detailed.sol\";\r\n\r\ncontract Vault is IVault, Ownable {\r\n\r\n    using FixedPoint for uint256;\r\n\r\n    //distributor authorized to collect custody fee\r\n    address private distributor;\r\n\r\n    // custody fee as percentage of average assets in balance\r\n    uint256 private custodyfee;\r\n    \r\n    //counter for block timestamp nonce\r\n    uint256 private txid;\r\n\r\n    //mapping of signer address to creator bytes32 id\r\n    mapping(address => bytes32[]) private signers;\r\n\r\n    //mapping signer (its bytes32 ID, eg creator@vault.com) to its address to its token (eg, Google/Apple push notification token)\r\n    mapping(bytes32 => string) private creators;\r\n\r\n    //creating vault by mapping its creator (bytes32 ID, eg, creator@vault.com) to participants (bytes32 IDs, eg, participant@email.com) in the vault\r\n    mapping(bytes32 => bytes32[]) private vaults;\r\n\r\n    //positional index of cosigners for vault. Mapping of vault creator to participant to its position\r\n    mapping(bytes32 => mapping(bytes32 => uint256)) private cosigners;\r\n\r\n    //mapping vault (bytes32 ID, eg creator@vault.com) to participants (bytes32 ID, eg, participant@email.com) to their pin (string)\r\n    mapping(bytes32 => mapping(bytes32 => string)) private pins;\r\n\r\n    //mapping vault (bytes32 ID, eg creator@vault.com) to participants (bytes32 ID, eg, participant@email.com) to their key shard (string)\r\n    mapping(bytes32 => mapping(bytes32 => string)) private shards;\r\n\r\n    //mapping vault (bytes32 ID, eg creator@vault.com) to number of minimum co-signers required for quorum (uint256)\r\n    mapping(bytes32 => uint256) private quorum;\r\n\r\n    //mapping vault (bytes32 ID, eg creator@vault.com) to transactions\r\n    mapping(bytes32 => transaction[]) private transactions;\r\n\r\n    //event that helps notify a participant to confirm PIN and shard\r\n    event NewParticipant(bytes32 creator, bytes32 participant);\r\n\r\n    //event that helps notify a participant to co-sign a transaction\r\n    event NewTransaction(bytes32 creator, bytes32 participant, uint256 txid);\r\n\r\n    //event that helps notify a creator that a transaction has been signed\r\n    event SignTransaction(bytes32 creator, bytes32 participant, uint256 txid);\r\n\r\n    //events signalling acceptance or rejection of co-signing requests\r\n    event SignResponse(bytes32 creator, bytes32 participant, bool confirmation);\r\n\r\n    //event for fee collection\r\n    event feecollection(address indexed platform, uint256 collection, uint256 timestamp);\r\n\r\n    //snapshots for charging custody fee to users\r\n    struct BalanceSnapshot {\r\n        uint256 timestamp;\r\n        uint256 balance;\r\n    }\r\n\r\n    //mapping users to tokens to their balance snapshots\r\n    mapping(address => mapping(address => BalanceSnapshot[])) public userSnapshots;\r\n\r\n    // mapping token address to issuing fee collected\r\n    mapping(address => uint256) private fees;\r\n\r\n    // modifiers\r\n    modifier onlySigner(bytes32 _creator, string memory _id) {\r\n        require(keccak256(abi.encodePacked(creators[_creator])) == keccak256(abi.encodePacked(_id)), 'Not a valid signer');\r\n        _;\r\n    }\r\n\r\n    modifier onlyAuthorized(address _caller) {\r\n        require(_caller==distributor, 'Not a valid distributor');\r\n        _;\r\n    }\r\n\r\n    constructor() public{\r\n        Ownable.initialize(msg.sender);\r\n        distributor = msg.sender;\r\n    }\r\n\r\n    function setDistributor(address _nominee) public onlyAuthorized(msg.sender){\r\n        distributor = _nominee;\r\n    }\r\n\r\n    function setCustodyFee(uint256 _fee) public onlyAuthorized(msg.sender){\r\n        custodyfee = _fee;\r\n    }\r\n\r\n    /**\r\n        This function creates a vault for the creator\r\n        @param _creator vault creator's username, eg, creator@email.com\r\n        @param _id vault creator's unique id using which it can be reached, eg, its Google/APNS token\r\n     */\r\n    function createVault(bytes32 _creator, string calldata _id) external {\r\n        require(vaults[_creator].length==0);\r\n        signers[msg.sender].push(_creator);\r\n        creators[_creator] = _id;\r\n        cosigners[_creator][_creator] = vaults[_creator].length;\r\n        vaults[_creator].push(_creator);\r\n    }\r\n\r\n\r\n    /**\r\n        This function resets the vault owner's unique id\r\n        @param _creator the vault's creator (eg, creator@email.com)\r\n        @param _id vault creator's unique id using which it can be reached, eg, its Google/APNS token\r\n        @param _new vault creator's new unique id\r\n     */\r\n    function resetPin(bytes32 _creator, string calldata _id, string calldata _new) onlySigner(_creator, _id) external {\r\n        creators[_creator] = _new;\r\n    }\r\n\r\n    /**\r\n        This function returns list of vault creators\r\n     */\r\n    function getVaults() external view returns(bytes32[] memory){\r\n        return signers[msg.sender];\r\n    }\r\n\r\n    /**\r\n        This function transfers a vault from the transferor (msg.sender) to transferee\r\n        @param  _creator    vault to transfer\r\n        @param _id          vault creator's unique id using which it can be reached, eg, its Google/APNS token\r\n        @param  _transferee address of the new vault operator\r\n     */\r\n    function transferVault(bytes32 _creator, string calldata _id, address _transferee) onlySigner(_creator, _id) external {\r\n        bool found = false;\r\n        for(uint i=0; i<signers[msg.sender].length; i++){\r\n            if(signers[msg.sender][i]==_creator){\r\n                found = true;\r\n                delete signers[msg.sender][i];\r\n            }\r\n        }\r\n        require(found==true, 'Not a valid signer');\r\n        signers[_transferee].push(_creator);\r\n    }\r\n\r\n    /**\r\n        This function returns the vault creator's unique ID (eg, Google/APNS messaging token)\r\n        @param _creator the vault creator (eg, creator@email.com)\r\n        @return the vault creator's unique ID\r\n     */\r\n    function getCreator(bytes32 _creator, string calldata _pin) external view returns(string memory){  \r\n        require(vaults[_creator].length>0, \"Wallet not created\");   \r\n        require(keccak256(abi.encodePacked(pins[_creator][_creator])) == keccak256(abi.encodePacked(_pin)), \"Invalid PIN\");   \r\n        return creators[_creator];        \r\n    }\r\n\r\n    /**\r\n        This function adds a participant to a vault that belongs to its creator\r\n        @param _creator vault creator's username, eg creator@email.com\r\n        @param _id vault creator's unique id using which it can be reached, eg, its Google/APNS token\r\n        @param _participant vault participant's username, eg participant@email.com\r\n        @param _shard the private key shard of the participant\r\n     */\r\n    function addParticipant(bytes32 _creator, string calldata _id, bytes32 _participant, string calldata _shard) onlySigner(_creator, _id) external {\r\n        //require(vaults[_participant].length>0); //participant does not have a vault yet\r\n        if(keccak256(abi.encodePacked(shards[_creator][_participant]))!=keccak256(abi.encodePacked(_shard)))\r\n            shards[_creator][_participant] = _shard;\r\n        bool present = false;\r\n        for(uint i=0; i<vaults[_creator].length; i++){\r\n            if(vaults[_creator][i]==_participant)\r\n                present = true;\r\n        }\r\n        if(_creator!=_participant && !present){\r\n            cosigners[_creator][_participant] = vaults[_creator].length;\r\n            vaults[_creator].push(_participant); \r\n            emit NewParticipant(_creator, _participant);\r\n        }\r\n    }\r\n\r\n    /**\r\n        This function removes a participant in a vault that belongs to its creator\r\n        @param _creator vault creator's username, eg creator@email.com\r\n        @param _id vault creator's unique id using which it can be reached, eg, its Google/APNS token\r\n        @param _participant vault participant's username, eg participant@email.com\r\n     */\r\n    function removeParticipant(bytes32 _creator, string calldata _id, bytes32 _participant) onlySigner(_creator, _id) external {\r\n        if(cosigners[_creator][_participant] > 0){\r\n            delete vaults[_creator][cosigners[_creator][_participant]];\r\n            delete shards[_creator][_participant];\r\n            delete pins[_creator][_participant];\r\n        }\r\n    } \r\n\r\n    /**\r\n        This function confirms a participant in the vault when the participant sends its private key shard and PIN\r\n        @param _creator the vault's creator (eg, creator@email.com)\r\n        @param _id vault creator's unique id using which it can be reached, eg, its Google/APNS token\r\n        @param _participant the vault's participant (eg, participant@email.com)\r\n        @param _pin the PIN number of the participant\r\n        @param _confirmation true or false\r\n     */\r\n    function confirmParticipant(bytes32 _creator, string calldata _id, bytes32 _participant, string calldata _pin, bool _confirmation) onlySigner(_participant, _id) external {\r\n        require(vaults[_creator].length>0);\r\n        if(_confirmation){\r\n            pins[_creator][_participant] = _pin;\r\n            emit SignResponse(_creator, _participant, true);\r\n        }\r\n        else\r\n           emit SignResponse(_creator, _participant, false); \r\n    }\r\n\r\n    /**\r\n        This function defines the number of participants required to co-sign a transaction\r\n        @param _creator the vault's creator (eg, creator@email.com)\r\n        @param _id vault creator's unique id using which it can be reached, eg, its Google/APNS token\r\n        @param _minParticipants the minimum number of co-signers\r\n     */\r\n    function defineQuorum(bytes32 _creator, string calldata _id, uint256 _minParticipants) onlySigner(_creator, _id) external {\r\n        quorum[_creator] = _minParticipants;\r\n    }\r\n\r\n    /**\r\n        This function retrieves the number of participants required to co-sign a transaction\r\n        @param _creator the vault's creator (eg, creator@email.com)\r\n        @param _id vault creator's unique id using which it can be reached, eg, its Google/APNS token\r\n     */\r\n    function getQuorum(bytes32 _creator, string calldata _id) onlySigner(_creator, _id) external view returns(uint256){\r\n        return quorum[_creator];\r\n    }\r\n\r\n    /**\r\n        This function prompts participants to co-sign a transaction on the vault (ie, the creator's address secured by the quorum of participants)\r\n        @param _creator the vault's creator (eg, creator@email.com)\r\n        @param _id vault creator's unique id using which it can be reached, eg, its Google/APNS token\r\n     */\r\n    function promptSignatures(bytes32 _creator, string calldata _id) onlySigner(_creator, _id) external {\r\n        bytes32[] memory cs = new bytes32[](vaults[_creator].length);\r\n        txid = block.timestamp == txid ? txid + 1 : block.timestamp;\r\n        transaction memory currentTx = transaction({\r\n            datetime : txid,\r\n            cosigners : cs\r\n        });\r\n        transactions[_creator].push(currentTx);\r\n        for(uint256 i=0; i<vaults[_creator].length; i++){\r\n            emit NewTransaction(_creator, vaults[_creator][i], txid);\r\n        }\r\n    }\r\n\r\n    /**\r\n        This function lets a participant co-sign a transaction\r\n        @param _creator the vault's creator (eg, creator@email.com)\r\n        @param _id vault creator's unique id using which it can be reached, eg, its Google/APNS token\r\n        @param _participant the vault's participant (eg, participant@email.com)\r\n        @param _tx transaction identifier\r\n        @param _pin the PIN number of the signer (participant)\r\n     */\r\n    function signTransaction(bytes32 _creator, string calldata _id, bytes32 _participant, uint256 _tx, string calldata _pin) onlySigner(_participant, _id) external {\r\n        require(keccak256(abi.encodePacked(pins[_creator][_participant]))==keccak256(abi.encodePacked(_pin)));\r\n        for(uint i=0; i<transactions[_creator].length; i++){\r\n            if(transactions[_creator][i].datetime==_tx){\r\n                for(uint j=0; j<transactions[_creator][i].cosigners.length; j++){\r\n                    if(transactions[_creator][i].cosigners[j]==_participant)\r\n                        break;\r\n                    if(transactions[_creator][i].cosigners[j]==\"\"){\r\n                        transactions[_creator][i].cosigners[j]=_participant;\r\n                        break;\r\n                    }\r\n                }\r\n                emit SignTransaction(_creator, _participant, _tx);\r\n            }\r\n        }\r\n    }\r\n\r\n    /**\r\n        This function lets the creator check if quorum has been achieved for a particular transaction\r\n        @param _creator vault creator's username, eg creator@email.com\r\n        @param _id vault creator's unique id using which it can be reached, eg, its Google/APNS token\r\n        @param _participant vault participant's username, eg participant@email.com\r\n        @param _txid transaction identifier\r\n     */\r\n    function checkQuorum(bytes32 _creator, string calldata _id, bytes32 _participant, uint256 _txid) onlySigner(_creator, _id) external view returns(bool){\r\n        require(keccak256(abi.encodePacked(pins[_creator][_participant]))!=keccak256(abi.encodePacked(\"\")));\r\n        bool _quorum = false;\r\n        for(uint i=0; i<transactions[_creator].length; i++){\r\n            if(transactions[_creator][i].datetime==_txid){\r\n                uint256 signedCount = 0;\r\n                for (uint256 j = 0; j < transactions[_creator][i].cosigners.length; j++) {\r\n                    if (transactions[_creator][i].cosigners[j] != \"\") {\r\n                        signedCount++;\r\n                    }\r\n                }\r\n                if (signedCount >= quorum[_creator]) {\r\n                    _quorum = true;\r\n                }\r\n            }\r\n        }        \r\n        if(_quorum)\r\n            return true;\r\n        else\r\n            return false;\r\n    }\r\n    \r\n    /**\r\n        This function gets the shard for a participant\r\n        @param _creator vault creator's username, eg creator@email.com\r\n        @param _id vault creator's unique id using which it can be reached, eg, its Google/APNS token\r\n        @param _txid transaction identifier \r\n     */\r\n    function getShards(bytes32 _creator, string calldata _id, uint256 _txid) onlySigner(_creator, _id) external view returns(string[] memory){\r\n        for(uint i=0; i<transactions[_creator].length; i++){\r\n            if(transactions[_creator][i].datetime==_txid){\r\n                if(transactions[_creator][i].cosigners.length >= quorum[_creator]){\r\n                    string[] memory keyShards = new string[](transactions[_creator][i].cosigners.length);\r\n                    for(uint j=0; j<transactions[_creator][i].cosigners.length; j++){\r\n                        keyShards[j] = shards[_creator][transactions[_creator][i].cosigners[j]];                        \r\n                    }\r\n                    //delete transactions[_creator][i];\r\n                    return keyShards;\r\n                }\r\n            }\r\n        }\r\n    }\r\n\r\n    /**\r\n        This function takes a snapshot of the token balance for the user\r\n        @param _creator vault creator's username, eg creator@email.com\r\n        @param _id vault creator's unique id using which it can be reached, eg, its Google/APNS token\r\n        @param token token address\r\n     */\r\n    function snapshotBalance(bytes32 _creator, string calldata _id, address token) onlySigner(_creator, _id) external {\r\n        //uint256 currentBalance = 2;\r\n        uint256 currentBalance = IERC20(token).balanceOf(msg.sender);\r\n        userSnapshots[msg.sender][token].push(BalanceSnapshot(block.timestamp, currentBalance));\r\n    }\r\n    event totalCount(uint256 total, uint256 count);\r\n    event avgBalance(uint256 fees, uint256 totalCount, uint256 custodyfee);\r\n    /**\r\n        This function calculates the average balance for a user and a token\r\n        @param _creator vault creator's username, eg creator@email.com\r\n        @param _id vault creator's unique id using which it can be reached, eg, its Google/APNS token\r\n        @param token token address\r\n        @param fromTime time to start calculating token balance from\r\n        @param toTime time to end calculating token balance \r\n     */\r\n    function calculateAverageBalance(bytes32 _creator, string calldata _id, address token, uint256 fromTime, uint256 toTime) onlySigner(_creator, _id) external {\r\n        BalanceSnapshot[] storage snapshots = userSnapshots[msg.sender][token];\r\n        uint256 total = 0;\r\n        uint256 count = 0;\r\n        uint256 fee = 0;\r\n\r\n        for (uint i = 0; i < snapshots.length; i++) {\r\n            if (snapshots[i].timestamp >= fromTime && snapshots[i].timestamp <= toTime) {\r\n                total += snapshots[i].balance;\r\n                count++;                \r\n            }\r\n        }\r\n        emit totalCount(total, count);\r\n        if (count != 0){\r\n            fee = FixedPoint.divDown(FixedPoint.mulDown(custodyfee, FixedPoint.divDown(total, count)), _computeScalingFactor(IERC20(token)));       \r\n            fee = _downscaleDown(fee, _computeScalingFactor(IERC20(token)));\r\n            emit avgBalance(fees[token], custodyfee, fee);\r\n            IERC20(token).transferFrom(msg.sender, address(this), fee);      \r\n            fees[token] = Math.add(fees[token], fee);\r\n            emit avgBalance(fees[token], custodyfee, fee);\r\n        } \r\n    }\r\n\r\n    /**\r\n        This function gets the shard for a participant\r\n        @param _token vault creator's username, eg creator@email.com\r\n     */\r\n    function collectCustodyFee(address _token) external returns(uint256){\r\n        require(msg.sender==distributor, \"Unauthorized fee collection\");\r\n        uint256 feeCollected = fees[_token];        \r\n        fees[_token] = Math.sub(fees[_token], feeCollected);        \r\n        IERC20(_token).transfer(distributor, feeCollected);\r\n        emit feecollection(address(this), feeCollected, block.timestamp);\r\n        return feeCollected;\r\n    }\r\n\r\n    /**\r\n     * @dev Returns a scaling factor that, when multiplied to a token amount for `token`, normalizes its balance as if\r\n     * it had 18 decimals.\r\n     */\r\n    function _computeScalingFactor(IERC20 token) internal view returns (uint256) {\r\n        // Tokens that don't implement the `decimals` method are not supported.\r\n        uint256 tokenDecimals = ERC20Detailed(address(token)).decimals();\r\n\r\n        // Tokens with more than 18 decimals are not supported.\r\n        uint256 decimalsDifference = Math.sub(18, tokenDecimals);\r\n        return FixedPoint.one() * 10**decimalsDifference;\r\n    }\r\n\r\n    /**\r\n     * @dev Reverses the `scalingFactor` applied to `amount`, resulting in a smaller or equal value depending on\r\n     * whether it needed scaling or not. The result is rounded down.\r\n     */\r\n    function _downscaleDown(uint256 amount, uint256 scalingFactor) internal pure returns (uint256) {\r\n        return FixedPoint.divDown(amount, scalingFactor);\r\n    }\r\n\r\n    /**\r\n     * @dev Applies `scalingFactor` to `amount`, resulting in a larger or equal value depending on whether it needed\r\n     * scaling or not.\r\n     */\r\n    function _upscale(uint256 amount, uint256 scalingFactor) internal pure returns (uint256) {\r\n        // Upscale rounding wouldn't necessarily always go in the same direction: in a swap for example the balance of\r\n        // token in should be rounded up, and that of token out rounded down. This is the only place where we round in\r\n        // the same direction for all amounts, as the impact of this rounding is expected to be minimal (and there's no\r\n        // rounding error unless `_scalingFactor()` is overriden).\r\n        return FixedPoint.mulDown(amount, scalingFactor);\r\n    }\r\n\r\n}",
    "sourcePath": "D:\\Code\\verified-custody\\backend\\contracts\\Vault.sol",
    "ast": {
        "absolutePath": "project:/contracts/Vault.sol",
        "exportedSymbols": {
            "Vault": [
                1949
            ]
        },
        "id": 1950,
        "nodeType": "SourceUnit",
        "nodes": [
            {
                "id": 553,
                "literals": [
                    "solidity",
                    "0.5",
                    ".7"
                ],
                "nodeType": "PragmaDirective",
                "src": "150:22:7"
            },
            {
                "id": 554,
                "literals": [
                    "experimental",
                    "ABIEncoderV2"
                ],
                "nodeType": "PragmaDirective",
                "src": "174:33:7"
            },
            {
                "absolutePath": "project:/contracts/IVault.sol",
                "file": "./IVault.sol",
                "id": 555,
                "nodeType": "ImportDirective",
                "scope": 1950,
                "sourceUnit": 519,
                "src": "211:22:7",
                "symbolAliases": [],
                "unitAlias": ""
            },
            {
                "absolutePath": "project:/contracts/math/Math.sol",
                "file": "./math/Math.sol",
                "id": 556,
                "nodeType": "ImportDirective",
                "scope": 1950,
                "sourceUnit": 3942,
                "src": "235:25:7",
                "symbolAliases": [],
                "unitAlias": ""
            },
            {
                "absolutePath": "project:/contracts/math/FixedPoint.sol",
                "file": "./math/FixedPoint.sol",
                "id": 557,
                "nodeType": "ImportDirective",
                "scope": 1950,
                "sourceUnit": 2368,
                "src": "262:31:7",
                "symbolAliases": [],
                "unitAlias": ""
            },
            {
                "absolutePath": "@openzeppelin/contracts-ethereum-package/contracts/ownership/Ownable.sol",
                "file": "@openzeppelin/contracts-ethereum-package/contracts/ownership/Ownable.sol",
                "id": 558,
                "nodeType": "ImportDirective",
                "scope": 1950,
                "sourceUnit": 154,
                "src": "295:82:7",
                "symbolAliases": [],
                "unitAlias": ""
            },
            {
                "absolutePath": "@openzeppelin/contracts-ethereum-package/contracts/token/ERC20/IERC20.sol",
                "file": "@openzeppelin/contracts-ethereum-package/contracts/token/ERC20/IERC20.sol",
                "id": 559,
                "nodeType": "ImportDirective",
                "scope": 1950,
                "sourceUnit": 290,
                "src": "379:83:7",
                "symbolAliases": [],
                "unitAlias": ""
            },
            {
                "absolutePath": "@openzeppelin/contracts-ethereum-package/contracts/token/ERC20/ERC20Detailed.sol",
                "file": "@openzeppelin/contracts-ethereum-package/contracts/token/ERC20/ERC20Detailed.sol",
                "id": 560,
                "nodeType": "ImportDirective",
                "scope": 1950,
                "sourceUnit": 221,
                "src": "464:90:7",
                "symbolAliases": [],
                "unitAlias": ""
            },
            {
                "baseContracts": [
                    {
                        "arguments": null,
                        "baseName": {
                            "contractScope": null,
                            "id": 561,
                            "name": "IVault",
                            "nodeType": "UserDefinedTypeName",
                            "referencedDeclaration": 518,
                            "src": "576:6:7",
                            "typeDescriptions": {
                                "typeIdentifier": "t_contract$_IVault_$518",
                                "typeString": "contract IVault"
                            }
                        },
                        "id": 562,
                        "nodeType": "InheritanceSpecifier",
                        "src": "576:6:7"
                    },
                    {
                        "arguments": null,
                        "baseName": {
                            "contractScope": null,
                            "id": 563,
                            "name": "Ownable",
                            "nodeType": "UserDefinedTypeName",
                            "referencedDeclaration": 153,
                            "src": "584:7:7",
                            "typeDescriptions": {
                                "typeIdentifier": "t_contract$_Ownable_$153",
                                "typeString": "contract Ownable"
                            }
                        },
                        "id": 564,
                        "nodeType": "InheritanceSpecifier",
                        "src": "584:7:7"
                    }
                ],
                "contractDependencies": [
                    29,
                    153,
                    358,
                    518
                ],
                "contractKind": "contract",
                "documentation": null,
                "fullyImplemented": true,
                "id": 1949,
                "linearizedBaseContracts": [
                    1949,
                    153,
                    29,
                    358,
                    518
                ],
                "name": "Vault",
                "nodeType": "ContractDefinition",
                "nodes": [
                    {
                        "id": 567,
                        "libraryName": {
                            "contractScope": null,
                            "id": 565,
                            "name": "FixedPoint",
                            "nodeType": "UserDefinedTypeName",
                            "referencedDeclaration": 2367,
                            "src": "607:10:7",
                            "typeDescriptions": {
                                "typeIdentifier": "t_contract$_FixedPoint_$2367",
                                "typeString": "library FixedPoint"
                            }
                        },
                        "nodeType": "UsingForDirective",
                        "src": "601:29:7",
                        "typeName": {
                            "id": 566,
                            "name": "uint256",
                            "nodeType": "ElementaryTypeName",
                            "src": "622:7:7",
                            "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                            }
                        }
                    },
                    {
                        "constant": false,
                        "id": 569,
                        "name": "distributor",
                        "nodeType": "VariableDeclaration",
                        "scope": 1949,
                        "src": "691:27:7",
                        "stateVariable": true,
                        "storageLocation": "default",
                        "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                        },
                        "typeName": {
                            "id": 568,
                            "name": "address",
                            "nodeType": "ElementaryTypeName",
                            "src": "691:7:7",
                            "stateMutability": "nonpayable",
                            "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                            }
                        },
                        "value": null,
                        "visibility": "private"
                    },
                    {
                        "constant": false,
                        "id": 571,
                        "name": "custodyfee",
                        "nodeType": "VariableDeclaration",
                        "scope": 1949,
                        "src": "790:26:7",
                        "stateVariable": true,
                        "storageLocation": "default",
                        "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                        },
                        "typeName": {
                            "id": 570,
                            "name": "uint256",
                            "nodeType": "ElementaryTypeName",
                            "src": "790:7:7",
                            "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                            }
                        },
                        "value": null,
                        "visibility": "private"
                    },
                    {
                        "constant": false,
                        "id": 573,
                        "name": "txid",
                        "nodeType": "VariableDeclaration",
                        "scope": 1949,
                        "src": "870:20:7",
                        "stateVariable": true,
                        "storageLocation": "default",
                        "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                        },
                        "typeName": {
                            "id": 572,
                            "name": "uint256",
                            "nodeType": "ElementaryTypeName",
                            "src": "870:7:7",
                            "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                            }
                        },
                        "value": null,
                        "visibility": "private"
                    },
                    {
                        "constant": false,
                        "id": 578,
                        "name": "signers",
                        "nodeType": "VariableDeclaration",
                        "scope": 1949,
                        "src": "954:45:7",
                        "stateVariable": true,
                        "storageLocation": "default",
                        "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$",
                            "typeString": "mapping(address => bytes32[])"
                        },
                        "typeName": {
                            "id": 577,
                            "keyType": {
                                "id": 574,
                                "name": "address",
                                "nodeType": "ElementaryTypeName",
                                "src": "962:7:7",
                                "typeDescriptions": {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                }
                            },
                            "nodeType": "Mapping",
                            "src": "954:29:7",
                            "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$",
                                "typeString": "mapping(address => bytes32[])"
                            },
                            "valueType": {
                                "baseType": {
                                    "id": 575,
                                    "name": "bytes32",
                                    "nodeType": "ElementaryTypeName",
                                    "src": "973:7:7",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes32",
                                        "typeString": "bytes32"
                                    }
                                },
                                "id": 576,
                                "length": null,
                                "nodeType": "ArrayTypeName",
                                "src": "973:9:7",
                                "typeDescriptions": {
                                    "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr",
                                    "typeString": "bytes32[]"
                                }
                            }
                        },
                        "value": null,
                        "visibility": "private"
                    },
                    {
                        "constant": false,
                        "id": 582,
                        "name": "creators",
                        "nodeType": "VariableDeclaration",
                        "scope": 1949,
                        "src": "1140:43:7",
                        "stateVariable": true,
                        "storageLocation": "default",
                        "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_bytes32_$_t_string_storage_$",
                            "typeString": "mapping(bytes32 => string)"
                        },
                        "typeName": {
                            "id": 581,
                            "keyType": {
                                "id": 579,
                                "name": "bytes32",
                                "nodeType": "ElementaryTypeName",
                                "src": "1148:7:7",
                                "typeDescriptions": {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                }
                            },
                            "nodeType": "Mapping",
                            "src": "1140:26:7",
                            "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_bytes32_$_t_string_storage_$",
                                "typeString": "mapping(bytes32 => string)"
                            },
                            "valueType": {
                                "id": 580,
                                "name": "string",
                                "nodeType": "ElementaryTypeName",
                                "src": "1159:6:7",
                                "typeDescriptions": {
                                    "typeIdentifier": "t_string_storage_ptr",
                                    "typeString": "string"
                                }
                            }
                        },
                        "value": null,
                        "visibility": "private"
                    },
                    {
                        "constant": false,
                        "id": 587,
                        "name": "vaults",
                        "nodeType": "VariableDeclaration",
                        "scope": 1949,
                        "src": "1343:44:7",
                        "stateVariable": true,
                        "storageLocation": "default",
                        "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_bytes32_$_t_array$_t_bytes32_$dyn_storage_$",
                            "typeString": "mapping(bytes32 => bytes32[])"
                        },
                        "typeName": {
                            "id": 586,
                            "keyType": {
                                "id": 583,
                                "name": "bytes32",
                                "nodeType": "ElementaryTypeName",
                                "src": "1351:7:7",
                                "typeDescriptions": {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                }
                            },
                            "nodeType": "Mapping",
                            "src": "1343:29:7",
                            "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_bytes32_$_t_array$_t_bytes32_$dyn_storage_$",
                                "typeString": "mapping(bytes32 => bytes32[])"
                            },
                            "valueType": {
                                "baseType": {
                                    "id": 584,
                                    "name": "bytes32",
                                    "nodeType": "ElementaryTypeName",
                                    "src": "1362:7:7",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes32",
                                        "typeString": "bytes32"
                                    }
                                },
                                "id": 585,
                                "length": null,
                                "nodeType": "ArrayTypeName",
                                "src": "1362:9:7",
                                "typeDescriptions": {
                                    "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr",
                                    "typeString": "bytes32[]"
                                }
                            }
                        },
                        "value": null,
                        "visibility": "private"
                    },
                    {
                        "constant": false,
                        "id": 593,
                        "name": "cosigners",
                        "nodeType": "VariableDeclaration",
                        "scope": 1949,
                        "src": "1500:65:7",
                        "stateVariable": true,
                        "storageLocation": "default",
                        "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_bytes32_$_t_uint256_$_$",
                            "typeString": "mapping(bytes32 => mapping(bytes32 => uint256))"
                        },
                        "typeName": {
                            "id": 592,
                            "keyType": {
                                "id": 588,
                                "name": "bytes32",
                                "nodeType": "ElementaryTypeName",
                                "src": "1508:7:7",
                                "typeDescriptions": {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                }
                            },
                            "nodeType": "Mapping",
                            "src": "1500:47:7",
                            "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_bytes32_$_t_uint256_$_$",
                                "typeString": "mapping(bytes32 => mapping(bytes32 => uint256))"
                            },
                            "valueType": {
                                "id": 591,
                                "keyType": {
                                    "id": 589,
                                    "name": "bytes32",
                                    "nodeType": "ElementaryTypeName",
                                    "src": "1527:7:7",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes32",
                                        "typeString": "bytes32"
                                    }
                                },
                                "nodeType": "Mapping",
                                "src": "1519:27:7",
                                "typeDescriptions": {
                                    "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
                                    "typeString": "mapping(bytes32 => uint256)"
                                },
                                "valueType": {
                                    "id": 590,
                                    "name": "uint256",
                                    "nodeType": "ElementaryTypeName",
                                    "src": "1538:7:7",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    }
                                }
                            }
                        },
                        "value": null,
                        "visibility": "private"
                    },
                    {
                        "constant": false,
                        "id": 599,
                        "name": "pins",
                        "nodeType": "VariableDeclaration",
                        "scope": 1949,
                        "src": "1708:59:7",
                        "stateVariable": true,
                        "storageLocation": "default",
                        "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_bytes32_$_t_string_storage_$_$",
                            "typeString": "mapping(bytes32 => mapping(bytes32 => string))"
                        },
                        "typeName": {
                            "id": 598,
                            "keyType": {
                                "id": 594,
                                "name": "bytes32",
                                "nodeType": "ElementaryTypeName",
                                "src": "1716:7:7",
                                "typeDescriptions": {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                }
                            },
                            "nodeType": "Mapping",
                            "src": "1708:46:7",
                            "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_bytes32_$_t_string_storage_$_$",
                                "typeString": "mapping(bytes32 => mapping(bytes32 => string))"
                            },
                            "valueType": {
                                "id": 597,
                                "keyType": {
                                    "id": 595,
                                    "name": "bytes32",
                                    "nodeType": "ElementaryTypeName",
                                    "src": "1735:7:7",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes32",
                                        "typeString": "bytes32"
                                    }
                                },
                                "nodeType": "Mapping",
                                "src": "1727:26:7",
                                "typeDescriptions": {
                                    "typeIdentifier": "t_mapping$_t_bytes32_$_t_string_storage_$",
                                    "typeString": "mapping(bytes32 => string)"
                                },
                                "valueType": {
                                    "id": 596,
                                    "name": "string",
                                    "nodeType": "ElementaryTypeName",
                                    "src": "1746:6:7",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_storage_ptr",
                                        "typeString": "string"
                                    }
                                }
                            }
                        },
                        "value": null,
                        "visibility": "private"
                    },
                    {
                        "constant": false,
                        "id": 605,
                        "name": "shards",
                        "nodeType": "VariableDeclaration",
                        "scope": 1949,
                        "src": "1916:61:7",
                        "stateVariable": true,
                        "storageLocation": "default",
                        "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_bytes32_$_t_string_storage_$_$",
                            "typeString": "mapping(bytes32 => mapping(bytes32 => string))"
                        },
                        "typeName": {
                            "id": 604,
                            "keyType": {
                                "id": 600,
                                "name": "bytes32",
                                "nodeType": "ElementaryTypeName",
                                "src": "1924:7:7",
                                "typeDescriptions": {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                }
                            },
                            "nodeType": "Mapping",
                            "src": "1916:46:7",
                            "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_bytes32_$_t_string_storage_$_$",
                                "typeString": "mapping(bytes32 => mapping(bytes32 => string))"
                            },
                            "valueType": {
                                "id": 603,
                                "keyType": {
                                    "id": 601,
                                    "name": "bytes32",
                                    "nodeType": "ElementaryTypeName",
                                    "src": "1943:7:7",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes32",
                                        "typeString": "bytes32"
                                    }
                                },
                                "nodeType": "Mapping",
                                "src": "1935:26:7",
                                "typeDescriptions": {
                                    "typeIdentifier": "t_mapping$_t_bytes32_$_t_string_storage_$",
                                    "typeString": "mapping(bytes32 => string)"
                                },
                                "valueType": {
                                    "id": 602,
                                    "name": "string",
                                    "nodeType": "ElementaryTypeName",
                                    "src": "1954:6:7",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_storage_ptr",
                                        "typeString": "string"
                                    }
                                }
                            }
                        },
                        "value": null,
                        "visibility": "private"
                    },
                    {
                        "constant": false,
                        "id": 609,
                        "name": "quorum",
                        "nodeType": "VariableDeclaration",
                        "scope": 1949,
                        "src": "2104:42:7",
                        "stateVariable": true,
                        "storageLocation": "default",
                        "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
                            "typeString": "mapping(bytes32 => uint256)"
                        },
                        "typeName": {
                            "id": 608,
                            "keyType": {
                                "id": 606,
                                "name": "bytes32",
                                "nodeType": "ElementaryTypeName",
                                "src": "2112:7:7",
                                "typeDescriptions": {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                }
                            },
                            "nodeType": "Mapping",
                            "src": "2104:27:7",
                            "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
                                "typeString": "mapping(bytes32 => uint256)"
                            },
                            "valueType": {
                                "id": 607,
                                "name": "uint256",
                                "nodeType": "ElementaryTypeName",
                                "src": "2123:7:7",
                                "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                }
                            }
                        },
                        "value": null,
                        "visibility": "private"
                    },
                    {
                        "constant": false,
                        "id": 614,
                        "name": "transactions",
                        "nodeType": "VariableDeclaration",
                        "scope": 1949,
                        "src": "2227:54:7",
                        "stateVariable": true,
                        "storageLocation": "default",
                        "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_bytes32_$_t_array$_t_struct$_transaction_$367_storage_$dyn_storage_$",
                            "typeString": "mapping(bytes32 => struct IVault.transaction[])"
                        },
                        "typeName": {
                            "id": 613,
                            "keyType": {
                                "id": 610,
                                "name": "bytes32",
                                "nodeType": "ElementaryTypeName",
                                "src": "2235:7:7",
                                "typeDescriptions": {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                }
                            },
                            "nodeType": "Mapping",
                            "src": "2227:33:7",
                            "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_bytes32_$_t_array$_t_struct$_transaction_$367_storage_$dyn_storage_$",
                                "typeString": "mapping(bytes32 => struct IVault.transaction[])"
                            },
                            "valueType": {
                                "baseType": {
                                    "contractScope": null,
                                    "id": 611,
                                    "name": "transaction",
                                    "nodeType": "UserDefinedTypeName",
                                    "referencedDeclaration": 367,
                                    "src": "2246:11:7",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_struct$_transaction_$367_storage_ptr",
                                        "typeString": "struct IVault.transaction"
                                    }
                                },
                                "id": 612,
                                "length": null,
                                "nodeType": "ArrayTypeName",
                                "src": "2246:13:7",
                                "typeDescriptions": {
                                    "typeIdentifier": "t_array$_t_struct$_transaction_$367_storage_$dyn_storage_ptr",
                                    "typeString": "struct IVault.transaction[]"
                                }
                            }
                        },
                        "value": null,
                        "visibility": "private"
                    },
                    {
                        "anonymous": false,
                        "documentation": null,
                        "id": 620,
                        "name": "NewParticipant",
                        "nodeType": "EventDefinition",
                        "parameters": {
                            "id": 619,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 616,
                                    "indexed": false,
                                    "name": "creator",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 620,
                                    "src": "2381:15:7",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes32",
                                        "typeString": "bytes32"
                                    },
                                    "typeName": {
                                        "id": 615,
                                        "name": "bytes32",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "2381:7:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 618,
                                    "indexed": false,
                                    "name": "participant",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 620,
                                    "src": "2398:19:7",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes32",
                                        "typeString": "bytes32"
                                    },
                                    "typeName": {
                                        "id": 617,
                                        "name": "bytes32",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "2398:7:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                }
                            ],
                            "src": "2380:38:7"
                        },
                        "src": "2360:59:7"
                    },
                    {
                        "anonymous": false,
                        "documentation": null,
                        "id": 628,
                        "name": "NewTransaction",
                        "nodeType": "EventDefinition",
                        "parameters": {
                            "id": 627,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 622,
                                    "indexed": false,
                                    "name": "creator",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 628,
                                    "src": "2518:15:7",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes32",
                                        "typeString": "bytes32"
                                    },
                                    "typeName": {
                                        "id": 621,
                                        "name": "bytes32",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "2518:7:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 624,
                                    "indexed": false,
                                    "name": "participant",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 628,
                                    "src": "2535:19:7",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes32",
                                        "typeString": "bytes32"
                                    },
                                    "typeName": {
                                        "id": 623,
                                        "name": "bytes32",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "2535:7:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 626,
                                    "indexed": false,
                                    "name": "txid",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 628,
                                    "src": "2556:12:7",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 625,
                                        "name": "uint256",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "2556:7:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                }
                            ],
                            "src": "2517:52:7"
                        },
                        "src": "2497:73:7"
                    },
                    {
                        "anonymous": false,
                        "documentation": null,
                        "id": 636,
                        "name": "SignTransaction",
                        "nodeType": "EventDefinition",
                        "parameters": {
                            "id": 635,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 630,
                                    "indexed": false,
                                    "name": "creator",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 636,
                                    "src": "2676:15:7",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes32",
                                        "typeString": "bytes32"
                                    },
                                    "typeName": {
                                        "id": 629,
                                        "name": "bytes32",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "2676:7:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 632,
                                    "indexed": false,
                                    "name": "participant",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 636,
                                    "src": "2693:19:7",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes32",
                                        "typeString": "bytes32"
                                    },
                                    "typeName": {
                                        "id": 631,
                                        "name": "bytes32",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "2693:7:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 634,
                                    "indexed": false,
                                    "name": "txid",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 636,
                                    "src": "2714:12:7",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 633,
                                        "name": "uint256",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "2714:7:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                }
                            ],
                            "src": "2675:52:7"
                        },
                        "src": "2654:74:7"
                    },
                    {
                        "anonymous": false,
                        "documentation": null,
                        "id": 644,
                        "name": "SignResponse",
                        "nodeType": "EventDefinition",
                        "parameters": {
                            "id": 643,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 638,
                                    "indexed": false,
                                    "name": "creator",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 644,
                                    "src": "2827:15:7",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes32",
                                        "typeString": "bytes32"
                                    },
                                    "typeName": {
                                        "id": 637,
                                        "name": "bytes32",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "2827:7:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 640,
                                    "indexed": false,
                                    "name": "participant",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 644,
                                    "src": "2844:19:7",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes32",
                                        "typeString": "bytes32"
                                    },
                                    "typeName": {
                                        "id": 639,
                                        "name": "bytes32",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "2844:7:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 642,
                                    "indexed": false,
                                    "name": "confirmation",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 644,
                                    "src": "2865:17:7",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 641,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "2865:4:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                }
                            ],
                            "src": "2826:57:7"
                        },
                        "src": "2808:76:7"
                    },
                    {
                        "anonymous": false,
                        "documentation": null,
                        "id": 652,
                        "name": "feecollection",
                        "nodeType": "EventDefinition",
                        "parameters": {
                            "id": 651,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 646,
                                    "indexed": true,
                                    "name": "platform",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 652,
                                    "src": "2944:24:7",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 645,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "2944:7:7",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 648,
                                    "indexed": false,
                                    "name": "collection",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 652,
                                    "src": "2970:18:7",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 647,
                                        "name": "uint256",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "2970:7:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 650,
                                    "indexed": false,
                                    "name": "timestamp",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 652,
                                    "src": "2990:17:7",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 649,
                                        "name": "uint256",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "2990:7:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                }
                            ],
                            "src": "2943:65:7"
                        },
                        "src": "2924:85:7"
                    },
                    {
                        "canonicalName": "Vault.BalanceSnapshot",
                        "id": 657,
                        "members": [
                            {
                                "constant": false,
                                "id": 654,
                                "name": "timestamp",
                                "nodeType": "VariableDeclaration",
                                "scope": 657,
                                "src": "3102:17:7",
                                "stateVariable": false,
                                "storageLocation": "default",
                                "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                },
                                "typeName": {
                                    "id": 653,
                                    "name": "uint256",
                                    "nodeType": "ElementaryTypeName",
                                    "src": "3102:7:7",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    }
                                },
                                "value": null,
                                "visibility": "internal"
                            },
                            {
                                "constant": false,
                                "id": 656,
                                "name": "balance",
                                "nodeType": "VariableDeclaration",
                                "scope": 657,
                                "src": "3130:15:7",
                                "stateVariable": false,
                                "storageLocation": "default",
                                "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                },
                                "typeName": {
                                    "id": 655,
                                    "name": "uint256",
                                    "nodeType": "ElementaryTypeName",
                                    "src": "3130:7:7",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    }
                                },
                                "value": null,
                                "visibility": "internal"
                            }
                        ],
                        "name": "BalanceSnapshot",
                        "nodeType": "StructDefinition",
                        "scope": 1949,
                        "src": "3068:85:7",
                        "visibility": "public"
                    },
                    {
                        "constant": false,
                        "id": 664,
                        "name": "userSnapshots",
                        "nodeType": "VariableDeclaration",
                        "scope": 1949,
                        "src": "3219:78:7",
                        "stateVariable": true,
                        "storageLocation": "default",
                        "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_array$_t_struct$_BalanceSnapshot_$657_storage_$dyn_storage_$_$",
                            "typeString": "mapping(address => mapping(address => struct Vault.BalanceSnapshot[]))"
                        },
                        "typeName": {
                            "id": 663,
                            "keyType": {
                                "id": 658,
                                "name": "address",
                                "nodeType": "ElementaryTypeName",
                                "src": "3227:7:7",
                                "typeDescriptions": {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                }
                            },
                            "nodeType": "Mapping",
                            "src": "3219:57:7",
                            "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_array$_t_struct$_BalanceSnapshot_$657_storage_$dyn_storage_$_$",
                                "typeString": "mapping(address => mapping(address => struct Vault.BalanceSnapshot[]))"
                            },
                            "valueType": {
                                "id": 662,
                                "keyType": {
                                    "id": 659,
                                    "name": "address",
                                    "nodeType": "ElementaryTypeName",
                                    "src": "3246:7:7",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    }
                                },
                                "nodeType": "Mapping",
                                "src": "3238:37:7",
                                "typeDescriptions": {
                                    "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_struct$_BalanceSnapshot_$657_storage_$dyn_storage_$",
                                    "typeString": "mapping(address => struct Vault.BalanceSnapshot[])"
                                },
                                "valueType": {
                                    "baseType": {
                                        "contractScope": null,
                                        "id": 660,
                                        "name": "BalanceSnapshot",
                                        "nodeType": "UserDefinedTypeName",
                                        "referencedDeclaration": 657,
                                        "src": "3257:15:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_struct$_BalanceSnapshot_$657_storage_ptr",
                                            "typeString": "struct Vault.BalanceSnapshot"
                                        }
                                    },
                                    "id": 661,
                                    "length": null,
                                    "nodeType": "ArrayTypeName",
                                    "src": "3257:17:7",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_array$_t_struct$_BalanceSnapshot_$657_storage_$dyn_storage_ptr",
                                        "typeString": "struct Vault.BalanceSnapshot[]"
                                    }
                                }
                            }
                        },
                        "value": null,
                        "visibility": "public"
                    },
                    {
                        "constant": false,
                        "id": 668,
                        "name": "fees",
                        "nodeType": "VariableDeclaration",
                        "scope": 1949,
                        "src": "3361:40:7",
                        "stateVariable": true,
                        "storageLocation": "default",
                        "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                            "typeString": "mapping(address => uint256)"
                        },
                        "typeName": {
                            "id": 667,
                            "keyType": {
                                "id": 665,
                                "name": "address",
                                "nodeType": "ElementaryTypeName",
                                "src": "3369:7:7",
                                "typeDescriptions": {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                }
                            },
                            "nodeType": "Mapping",
                            "src": "3361:27:7",
                            "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                                "typeString": "mapping(address => uint256)"
                            },
                            "valueType": {
                                "id": 666,
                                "name": "uint256",
                                "nodeType": "ElementaryTypeName",
                                "src": "3380:7:7",
                                "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                }
                            }
                        },
                        "value": null,
                        "visibility": "private"
                    },
                    {
                        "body": {
                            "id": 694,
                            "nodeType": "Block",
                            "src": "3485:145:7",
                            "statements": [
                                {
                                    "expression": {
                                        "argumentTypes": null,
                                        "arguments": [
                                            {
                                                "argumentTypes": null,
                                                "commonType": {
                                                    "typeIdentifier": "t_bytes32",
                                                    "typeString": "bytes32"
                                                },
                                                "id": 689,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "leftExpression": {
                                                    "argumentTypes": null,
                                                    "arguments": [
                                                        {
                                                            "argumentTypes": null,
                                                            "arguments": [
                                                                {
                                                                    "argumentTypes": null,
                                                                    "baseExpression": {
                                                                        "argumentTypes": null,
                                                                        "id": 678,
                                                                        "name": "creators",
                                                                        "nodeType": "Identifier",
                                                                        "overloadedDeclarations": [],
                                                                        "referencedDeclaration": 582,
                                                                        "src": "3531:8:7",
                                                                        "typeDescriptions": {
                                                                            "typeIdentifier": "t_mapping$_t_bytes32_$_t_string_storage_$",
                                                                            "typeString": "mapping(bytes32 => string storage ref)"
                                                                        }
                                                                    },
                                                                    "id": 680,
                                                                    "indexExpression": {
                                                                        "argumentTypes": null,
                                                                        "id": 679,
                                                                        "name": "_creator",
                                                                        "nodeType": "Identifier",
                                                                        "overloadedDeclarations": [],
                                                                        "referencedDeclaration": 670,
                                                                        "src": "3540:8:7",
                                                                        "typeDescriptions": {
                                                                            "typeIdentifier": "t_bytes32",
                                                                            "typeString": "bytes32"
                                                                        }
                                                                    },
                                                                    "isConstant": false,
                                                                    "isLValue": true,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "nodeType": "IndexAccess",
                                                                    "src": "3531:18:7",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_string_storage",
                                                                        "typeString": "string storage ref"
                                                                    }
                                                                }
                                                            ],
                                                            "expression": {
                                                                "argumentTypes": [
                                                                    {
                                                                        "typeIdentifier": "t_string_storage",
                                                                        "typeString": "string storage ref"
                                                                    }
                                                                ],
                                                                "expression": {
                                                                    "argumentTypes": null,
                                                                    "id": 676,
                                                                    "name": "abi",
                                                                    "nodeType": "Identifier",
                                                                    "overloadedDeclarations": [],
                                                                    "referencedDeclaration": 3943,
                                                                    "src": "3514:3:7",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_magic_abi",
                                                                        "typeString": "abi"
                                                                    }
                                                                },
                                                                "id": 677,
                                                                "isConstant": false,
                                                                "isLValue": false,
                                                                "isPure": true,
                                                                "lValueRequested": false,
                                                                "memberName": "encodePacked",
                                                                "nodeType": "MemberAccess",
                                                                "referencedDeclaration": null,
                                                                "src": "3514:16:7",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                                                                    "typeString": "function () pure returns (bytes memory)"
                                                                }
                                                            },
                                                            "id": 681,
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": false,
                                                            "kind": "functionCall",
                                                            "lValueRequested": false,
                                                            "names": [],
                                                            "nodeType": "FunctionCall",
                                                            "src": "3514:36:7",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_bytes_memory_ptr",
                                                                "typeString": "bytes memory"
                                                            }
                                                        }
                                                    ],
                                                    "expression": {
                                                        "argumentTypes": [
                                                            {
                                                                "typeIdentifier": "t_bytes_memory_ptr",
                                                                "typeString": "bytes memory"
                                                            }
                                                        ],
                                                        "id": 675,
                                                        "name": "keccak256",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 3950,
                                                        "src": "3504:9:7",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$",
                                                            "typeString": "function (bytes memory) pure returns (bytes32)"
                                                        }
                                                    },
                                                    "id": 682,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "kind": "functionCall",
                                                    "lValueRequested": false,
                                                    "names": [],
                                                    "nodeType": "FunctionCall",
                                                    "src": "3504:47:7",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_bytes32",
                                                        "typeString": "bytes32"
                                                    }
                                                },
                                                "nodeType": "BinaryOperation",
                                                "operator": "==",
                                                "rightExpression": {
                                                    "argumentTypes": null,
                                                    "arguments": [
                                                        {
                                                            "argumentTypes": null,
                                                            "arguments": [
                                                                {
                                                                    "argumentTypes": null,
                                                                    "id": 686,
                                                                    "name": "_id",
                                                                    "nodeType": "Identifier",
                                                                    "overloadedDeclarations": [],
                                                                    "referencedDeclaration": 672,
                                                                    "src": "3582:3:7",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_string_memory_ptr",
                                                                        "typeString": "string memory"
                                                                    }
                                                                }
                                                            ],
                                                            "expression": {
                                                                "argumentTypes": [
                                                                    {
                                                                        "typeIdentifier": "t_string_memory_ptr",
                                                                        "typeString": "string memory"
                                                                    }
                                                                ],
                                                                "expression": {
                                                                    "argumentTypes": null,
                                                                    "id": 684,
                                                                    "name": "abi",
                                                                    "nodeType": "Identifier",
                                                                    "overloadedDeclarations": [],
                                                                    "referencedDeclaration": 3943,
                                                                    "src": "3565:3:7",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_magic_abi",
                                                                        "typeString": "abi"
                                                                    }
                                                                },
                                                                "id": 685,
                                                                "isConstant": false,
                                                                "isLValue": false,
                                                                "isPure": true,
                                                                "lValueRequested": false,
                                                                "memberName": "encodePacked",
                                                                "nodeType": "MemberAccess",
                                                                "referencedDeclaration": null,
                                                                "src": "3565:16:7",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                                                                    "typeString": "function () pure returns (bytes memory)"
                                                                }
                                                            },
                                                            "id": 687,
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": false,
                                                            "kind": "functionCall",
                                                            "lValueRequested": false,
                                                            "names": [],
                                                            "nodeType": "FunctionCall",
                                                            "src": "3565:21:7",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_bytes_memory_ptr",
                                                                "typeString": "bytes memory"
                                                            }
                                                        }
                                                    ],
                                                    "expression": {
                                                        "argumentTypes": [
                                                            {
                                                                "typeIdentifier": "t_bytes_memory_ptr",
                                                                "typeString": "bytes memory"
                                                            }
                                                        ],
                                                        "id": 683,
                                                        "name": "keccak256",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 3950,
                                                        "src": "3555:9:7",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$",
                                                            "typeString": "function (bytes memory) pure returns (bytes32)"
                                                        }
                                                    },
                                                    "id": 688,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "kind": "functionCall",
                                                    "lValueRequested": false,
                                                    "names": [],
                                                    "nodeType": "FunctionCall",
                                                    "src": "3555:32:7",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_bytes32",
                                                        "typeString": "bytes32"
                                                    }
                                                },
                                                "src": "3504:83:7",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bool",
                                                    "typeString": "bool"
                                                }
                                            },
                                            {
                                                "argumentTypes": null,
                                                "hexValue": "4e6f7420612076616c6964207369676e6572",
                                                "id": 690,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": true,
                                                "kind": "string",
                                                "lValueRequested": false,
                                                "nodeType": "Literal",
                                                "src": "3589:20:7",
                                                "subdenomination": null,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_stringliteral_f37a082e01a85edd8341f0ebe503684b2e02e2e628aaf440f1c678d418b8334a",
                                                    "typeString": "literal_string \"Not a valid signer\""
                                                },
                                                "value": "Not a valid signer"
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bool",
                                                    "typeString": "bool"
                                                },
                                                {
                                                    "typeIdentifier": "t_stringliteral_f37a082e01a85edd8341f0ebe503684b2e02e2e628aaf440f1c678d418b8334a",
                                                    "typeString": "literal_string \"Not a valid signer\""
                                                }
                                            ],
                                            "id": 674,
                                            "name": "require",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [
                                                3959,
                                                3960
                                            ],
                                            "referencedDeclaration": 3960,
                                            "src": "3496:7:7",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                                                "typeString": "function (bool,string memory) pure"
                                            }
                                        },
                                        "id": 691,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "3496:114:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 692,
                                    "nodeType": "ExpressionStatement",
                                    "src": "3496:114:7"
                                },
                                {
                                    "id": 693,
                                    "nodeType": "PlaceholderStatement",
                                    "src": "3621:1:7"
                                }
                            ]
                        },
                        "documentation": null,
                        "id": 695,
                        "name": "onlySigner",
                        "nodeType": "ModifierDefinition",
                        "parameters": {
                            "id": 673,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 670,
                                    "name": "_creator",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 695,
                                    "src": "3448:16:7",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes32",
                                        "typeString": "bytes32"
                                    },
                                    "typeName": {
                                        "id": 669,
                                        "name": "bytes32",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "3448:7:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 672,
                                    "name": "_id",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 695,
                                    "src": "3466:17:7",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 671,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "3466:6:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                }
                            ],
                            "src": "3447:37:7"
                        },
                        "src": "3428:202:7",
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 707,
                            "nodeType": "Block",
                            "src": "3679:87:7",
                            "statements": [
                                {
                                    "expression": {
                                        "argumentTypes": null,
                                        "arguments": [
                                            {
                                                "argumentTypes": null,
                                                "commonType": {
                                                    "typeIdentifier": "t_address",
                                                    "typeString": "address"
                                                },
                                                "id": 702,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "leftExpression": {
                                                    "argumentTypes": null,
                                                    "id": 700,
                                                    "name": "_caller",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 697,
                                                    "src": "3698:7:7",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_address",
                                                        "typeString": "address"
                                                    }
                                                },
                                                "nodeType": "BinaryOperation",
                                                "operator": "==",
                                                "rightExpression": {
                                                    "argumentTypes": null,
                                                    "id": 701,
                                                    "name": "distributor",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 569,
                                                    "src": "3707:11:7",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_address",
                                                        "typeString": "address"
                                                    }
                                                },
                                                "src": "3698:20:7",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bool",
                                                    "typeString": "bool"
                                                }
                                            },
                                            {
                                                "argumentTypes": null,
                                                "hexValue": "4e6f7420612076616c6964206469737472696275746f72",
                                                "id": 703,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": true,
                                                "kind": "string",
                                                "lValueRequested": false,
                                                "nodeType": "Literal",
                                                "src": "3720:25:7",
                                                "subdenomination": null,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_stringliteral_374bb354c1ea1b21cda6c53630aeac06a01a81a0893a9c33c2e455676b261b9e",
                                                    "typeString": "literal_string \"Not a valid distributor\""
                                                },
                                                "value": "Not a valid distributor"
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bool",
                                                    "typeString": "bool"
                                                },
                                                {
                                                    "typeIdentifier": "t_stringliteral_374bb354c1ea1b21cda6c53630aeac06a01a81a0893a9c33c2e455676b261b9e",
                                                    "typeString": "literal_string \"Not a valid distributor\""
                                                }
                                            ],
                                            "id": 699,
                                            "name": "require",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [
                                                3959,
                                                3960
                                            ],
                                            "referencedDeclaration": 3960,
                                            "src": "3690:7:7",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                                                "typeString": "function (bool,string memory) pure"
                                            }
                                        },
                                        "id": 704,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "3690:56:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 705,
                                    "nodeType": "ExpressionStatement",
                                    "src": "3690:56:7"
                                },
                                {
                                    "id": 706,
                                    "nodeType": "PlaceholderStatement",
                                    "src": "3757:1:7"
                                }
                            ]
                        },
                        "documentation": null,
                        "id": 708,
                        "name": "onlyAuthorized",
                        "nodeType": "ModifierDefinition",
                        "parameters": {
                            "id": 698,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 697,
                                    "name": "_caller",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 708,
                                    "src": "3662:15:7",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 696,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "3662:7:7",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                }
                            ],
                            "src": "3661:17:7"
                        },
                        "src": "3638:128:7",
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 723,
                            "nodeType": "Block",
                            "src": "3794:84:7",
                            "statements": [
                                {
                                    "expression": {
                                        "argumentTypes": null,
                                        "arguments": [
                                            {
                                                "argumentTypes": null,
                                                "expression": {
                                                    "argumentTypes": null,
                                                    "id": 714,
                                                    "name": "msg",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 3956,
                                                    "src": "3824:3:7",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_magic_message",
                                                        "typeString": "msg"
                                                    }
                                                },
                                                "id": 715,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "memberName": "sender",
                                                "nodeType": "MemberAccess",
                                                "referencedDeclaration": null,
                                                "src": "3824:10:7",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_address_payable",
                                                    "typeString": "address payable"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_address_payable",
                                                    "typeString": "address payable"
                                                }
                                            ],
                                            "expression": {
                                                "argumentTypes": null,
                                                "id": 711,
                                                "name": "Ownable",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 153,
                                                "src": "3805:7:7",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_type$_t_contract$_Ownable_$153_$",
                                                    "typeString": "type(contract Ownable)"
                                                }
                                            },
                                            "id": 713,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "memberName": "initialize",
                                            "nodeType": "MemberAccess",
                                            "referencedDeclaration": 64,
                                            "src": "3805:18:7",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$",
                                                "typeString": "function (address)"
                                            }
                                        },
                                        "id": 716,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "3805:30:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 717,
                                    "nodeType": "ExpressionStatement",
                                    "src": "3805:30:7"
                                },
                                {
                                    "expression": {
                                        "argumentTypes": null,
                                        "id": 721,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "leftHandSide": {
                                            "argumentTypes": null,
                                            "id": 718,
                                            "name": "distributor",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 569,
                                            "src": "3846:11:7",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_address",
                                                "typeString": "address"
                                            }
                                        },
                                        "nodeType": "Assignment",
                                        "operator": "=",
                                        "rightHandSide": {
                                            "argumentTypes": null,
                                            "expression": {
                                                "argumentTypes": null,
                                                "id": 719,
                                                "name": "msg",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 3956,
                                                "src": "3860:3:7",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_magic_message",
                                                    "typeString": "msg"
                                                }
                                            },
                                            "id": 720,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "memberName": "sender",
                                            "nodeType": "MemberAccess",
                                            "referencedDeclaration": null,
                                            "src": "3860:10:7",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_address_payable",
                                                "typeString": "address payable"
                                            }
                                        },
                                        "src": "3846:24:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "id": 722,
                                    "nodeType": "ExpressionStatement",
                                    "src": "3846:24:7"
                                }
                            ]
                        },
                        "documentation": null,
                        "id": 724,
                        "implemented": true,
                        "kind": "constructor",
                        "modifiers": [],
                        "name": "",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 709,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "3785:2:7"
                        },
                        "returnParameters": {
                            "id": 710,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "3794:0:7"
                        },
                        "scope": 1949,
                        "src": "3774:104:7",
                        "stateMutability": "nonpayable",
                        "superFunction": null,
                        "visibility": "public"
                    },
                    {
                        "body": {
                            "id": 737,
                            "nodeType": "Block",
                            "src": "3961:41:7",
                            "statements": [
                                {
                                    "expression": {
                                        "argumentTypes": null,
                                        "id": 735,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "leftHandSide": {
                                            "argumentTypes": null,
                                            "id": 733,
                                            "name": "distributor",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 569,
                                            "src": "3972:11:7",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_address",
                                                "typeString": "address"
                                            }
                                        },
                                        "nodeType": "Assignment",
                                        "operator": "=",
                                        "rightHandSide": {
                                            "argumentTypes": null,
                                            "id": 734,
                                            "name": "_nominee",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 726,
                                            "src": "3986:8:7",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_address",
                                                "typeString": "address"
                                            }
                                        },
                                        "src": "3972:22:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "id": 736,
                                    "nodeType": "ExpressionStatement",
                                    "src": "3972:22:7"
                                }
                            ]
                        },
                        "documentation": null,
                        "id": 738,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [
                            {
                                "arguments": [
                                    {
                                        "argumentTypes": null,
                                        "expression": {
                                            "argumentTypes": null,
                                            "id": 729,
                                            "name": "msg",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 3956,
                                            "src": "3950:3:7",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_magic_message",
                                                "typeString": "msg"
                                            }
                                        },
                                        "id": 730,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "memberName": "sender",
                                        "nodeType": "MemberAccess",
                                        "referencedDeclaration": null,
                                        "src": "3950:10:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address_payable",
                                            "typeString": "address payable"
                                        }
                                    }
                                ],
                                "id": 731,
                                "modifierName": {
                                    "argumentTypes": null,
                                    "id": 728,
                                    "name": "onlyAuthorized",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 708,
                                    "src": "3935:14:7",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_modifier$_t_address_$",
                                        "typeString": "modifier (address)"
                                    }
                                },
                                "nodeType": "ModifierInvocation",
                                "src": "3935:26:7"
                            }
                        ],
                        "name": "setDistributor",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 727,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 726,
                                    "name": "_nominee",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 738,
                                    "src": "3910:16:7",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 725,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "3910:7:7",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                }
                            ],
                            "src": "3909:18:7"
                        },
                        "returnParameters": {
                            "id": 732,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "3961:0:7"
                        },
                        "scope": 1949,
                        "src": "3886:116:7",
                        "stateMutability": "nonpayable",
                        "superFunction": null,
                        "visibility": "public"
                    },
                    {
                        "body": {
                            "id": 751,
                            "nodeType": "Block",
                            "src": "4080:36:7",
                            "statements": [
                                {
                                    "expression": {
                                        "argumentTypes": null,
                                        "id": 749,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "leftHandSide": {
                                            "argumentTypes": null,
                                            "id": 747,
                                            "name": "custodyfee",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 571,
                                            "src": "4091:10:7",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                            }
                                        },
                                        "nodeType": "Assignment",
                                        "operator": "=",
                                        "rightHandSide": {
                                            "argumentTypes": null,
                                            "id": 748,
                                            "name": "_fee",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 740,
                                            "src": "4104:4:7",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                            }
                                        },
                                        "src": "4091:17:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "id": 750,
                                    "nodeType": "ExpressionStatement",
                                    "src": "4091:17:7"
                                }
                            ]
                        },
                        "documentation": null,
                        "id": 752,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [
                            {
                                "arguments": [
                                    {
                                        "argumentTypes": null,
                                        "expression": {
                                            "argumentTypes": null,
                                            "id": 743,
                                            "name": "msg",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 3956,
                                            "src": "4069:3:7",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_magic_message",
                                                "typeString": "msg"
                                            }
                                        },
                                        "id": 744,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "memberName": "sender",
                                        "nodeType": "MemberAccess",
                                        "referencedDeclaration": null,
                                        "src": "4069:10:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address_payable",
                                            "typeString": "address payable"
                                        }
                                    }
                                ],
                                "id": 745,
                                "modifierName": {
                                    "argumentTypes": null,
                                    "id": 742,
                                    "name": "onlyAuthorized",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 708,
                                    "src": "4054:14:7",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_modifier$_t_address_$",
                                        "typeString": "modifier (address)"
                                    }
                                },
                                "nodeType": "ModifierInvocation",
                                "src": "4054:26:7"
                            }
                        ],
                        "name": "setCustodyFee",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 741,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 740,
                                    "name": "_fee",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 752,
                                    "src": "4033:12:7",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 739,
                                        "name": "uint256",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "4033:7:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                }
                            ],
                            "src": "4032:14:7"
                        },
                        "returnParameters": {
                            "id": 746,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "4080:0:7"
                        },
                        "scope": 1949,
                        "src": "4010:106:7",
                        "stateMutability": "nonpayable",
                        "superFunction": null,
                        "visibility": "public"
                    },
                    {
                        "body": {
                            "id": 800,
                            "nodeType": "Block",
                            "src": "4442:242:7",
                            "statements": [
                                {
                                    "expression": {
                                        "argumentTypes": null,
                                        "arguments": [
                                            {
                                                "argumentTypes": null,
                                                "commonType": {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                },
                                                "id": 765,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "leftExpression": {
                                                    "argumentTypes": null,
                                                    "expression": {
                                                        "argumentTypes": null,
                                                        "baseExpression": {
                                                            "argumentTypes": null,
                                                            "id": 760,
                                                            "name": "vaults",
                                                            "nodeType": "Identifier",
                                                            "overloadedDeclarations": [],
                                                            "referencedDeclaration": 587,
                                                            "src": "4461:6:7",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_mapping$_t_bytes32_$_t_array$_t_bytes32_$dyn_storage_$",
                                                                "typeString": "mapping(bytes32 => bytes32[] storage ref)"
                                                            }
                                                        },
                                                        "id": 762,
                                                        "indexExpression": {
                                                            "argumentTypes": null,
                                                            "id": 761,
                                                            "name": "_creator",
                                                            "nodeType": "Identifier",
                                                            "overloadedDeclarations": [],
                                                            "referencedDeclaration": 754,
                                                            "src": "4468:8:7",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_bytes32",
                                                                "typeString": "bytes32"
                                                            }
                                                        },
                                                        "isConstant": false,
                                                        "isLValue": true,
                                                        "isPure": false,
                                                        "lValueRequested": false,
                                                        "nodeType": "IndexAccess",
                                                        "src": "4461:16:7",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_array$_t_bytes32_$dyn_storage",
                                                            "typeString": "bytes32[] storage ref"
                                                        }
                                                    },
                                                    "id": 763,
                                                    "isConstant": false,
                                                    "isLValue": true,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "memberName": "length",
                                                    "nodeType": "MemberAccess",
                                                    "referencedDeclaration": null,
                                                    "src": "4461:23:7",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_uint256",
                                                        "typeString": "uint256"
                                                    }
                                                },
                                                "nodeType": "BinaryOperation",
                                                "operator": "==",
                                                "rightExpression": {
                                                    "argumentTypes": null,
                                                    "hexValue": "30",
                                                    "id": 764,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "kind": "number",
                                                    "lValueRequested": false,
                                                    "nodeType": "Literal",
                                                    "src": "4486:1:7",
                                                    "subdenomination": null,
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_rational_0_by_1",
                                                        "typeString": "int_const 0"
                                                    },
                                                    "value": "0"
                                                },
                                                "src": "4461:26:7",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bool",
                                                    "typeString": "bool"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bool",
                                                    "typeString": "bool"
                                                }
                                            ],
                                            "id": 759,
                                            "name": "require",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [
                                                3959,
                                                3960
                                            ],
                                            "referencedDeclaration": 3959,
                                            "src": "4453:7:7",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
                                                "typeString": "function (bool) pure"
                                            }
                                        },
                                        "id": 766,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "4453:35:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 767,
                                    "nodeType": "ExpressionStatement",
                                    "src": "4453:35:7"
                                },
                                {
                                    "expression": {
                                        "argumentTypes": null,
                                        "arguments": [
                                            {
                                                "argumentTypes": null,
                                                "id": 773,
                                                "name": "_creator",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 754,
                                                "src": "4524:8:7",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes32",
                                                    "typeString": "bytes32"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes32",
                                                    "typeString": "bytes32"
                                                }
                                            ],
                                            "expression": {
                                                "argumentTypes": null,
                                                "baseExpression": {
                                                    "argumentTypes": null,
                                                    "id": 768,
                                                    "name": "signers",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 578,
                                                    "src": "4499:7:7",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$",
                                                        "typeString": "mapping(address => bytes32[] storage ref)"
                                                    }
                                                },
                                                "id": 771,
                                                "indexExpression": {
                                                    "argumentTypes": null,
                                                    "expression": {
                                                        "argumentTypes": null,
                                                        "id": 769,
                                                        "name": "msg",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 3956,
                                                        "src": "4507:3:7",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_message",
                                                            "typeString": "msg"
                                                        }
                                                    },
                                                    "id": 770,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "memberName": "sender",
                                                    "nodeType": "MemberAccess",
                                                    "referencedDeclaration": null,
                                                    "src": "4507:10:7",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_address_payable",
                                                        "typeString": "address payable"
                                                    }
                                                },
                                                "isConstant": false,
                                                "isLValue": true,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "nodeType": "IndexAccess",
                                                "src": "4499:19:7",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_array$_t_bytes32_$dyn_storage",
                                                    "typeString": "bytes32[] storage ref"
                                                }
                                            },
                                            "id": 772,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "memberName": "push",
                                            "nodeType": "MemberAccess",
                                            "referencedDeclaration": null,
                                            "src": "4499:24:7",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_arraypush_nonpayable$_t_bytes32_$returns$_t_uint256_$",
                                                "typeString": "function (bytes32) returns (uint256)"
                                            }
                                        },
                                        "id": 774,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "4499:34:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "id": 775,
                                    "nodeType": "ExpressionStatement",
                                    "src": "4499:34:7"
                                },
                                {
                                    "expression": {
                                        "argumentTypes": null,
                                        "id": 780,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "leftHandSide": {
                                            "argumentTypes": null,
                                            "baseExpression": {
                                                "argumentTypes": null,
                                                "id": 776,
                                                "name": "creators",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 582,
                                                "src": "4544:8:7",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_mapping$_t_bytes32_$_t_string_storage_$",
                                                    "typeString": "mapping(bytes32 => string storage ref)"
                                                }
                                            },
                                            "id": 778,
                                            "indexExpression": {
                                                "argumentTypes": null,
                                                "id": 777,
                                                "name": "_creator",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 754,
                                                "src": "4553:8:7",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes32",
                                                    "typeString": "bytes32"
                                                }
                                            },
                                            "isConstant": false,
                                            "isLValue": true,
                                            "isPure": false,
                                            "lValueRequested": true,
                                            "nodeType": "IndexAccess",
                                            "src": "4544:18:7",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_string_storage",
                                                "typeString": "string storage ref"
                                            }
                                        },
                                        "nodeType": "Assignment",
                                        "operator": "=",
                                        "rightHandSide": {
                                            "argumentTypes": null,
                                            "id": 779,
                                            "name": "_id",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 756,
                                            "src": "4565:3:7",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_string_calldata_ptr",
                                                "typeString": "string calldata"
                                            }
                                        },
                                        "src": "4544:24:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage",
                                            "typeString": "string storage ref"
                                        }
                                    },
                                    "id": 781,
                                    "nodeType": "ExpressionStatement",
                                    "src": "4544:24:7"
                                },
                                {
                                    "expression": {
                                        "argumentTypes": null,
                                        "id": 791,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "leftHandSide": {
                                            "argumentTypes": null,
                                            "baseExpression": {
                                                "argumentTypes": null,
                                                "baseExpression": {
                                                    "argumentTypes": null,
                                                    "id": 782,
                                                    "name": "cosigners",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 593,
                                                    "src": "4579:9:7",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_bytes32_$_t_uint256_$_$",
                                                        "typeString": "mapping(bytes32 => mapping(bytes32 => uint256))"
                                                    }
                                                },
                                                "id": 785,
                                                "indexExpression": {
                                                    "argumentTypes": null,
                                                    "id": 783,
                                                    "name": "_creator",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 754,
                                                    "src": "4589:8:7",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_bytes32",
                                                        "typeString": "bytes32"
                                                    }
                                                },
                                                "isConstant": false,
                                                "isLValue": true,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "nodeType": "IndexAccess",
                                                "src": "4579:19:7",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
                                                    "typeString": "mapping(bytes32 => uint256)"
                                                }
                                            },
                                            "id": 786,
                                            "indexExpression": {
                                                "argumentTypes": null,
                                                "id": 784,
                                                "name": "_creator",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 754,
                                                "src": "4599:8:7",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes32",
                                                    "typeString": "bytes32"
                                                }
                                            },
                                            "isConstant": false,
                                            "isLValue": true,
                                            "isPure": false,
                                            "lValueRequested": true,
                                            "nodeType": "IndexAccess",
                                            "src": "4579:29:7",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                            }
                                        },
                                        "nodeType": "Assignment",
                                        "operator": "=",
                                        "rightHandSide": {
                                            "argumentTypes": null,
                                            "expression": {
                                                "argumentTypes": null,
                                                "baseExpression": {
                                                    "argumentTypes": null,
                                                    "id": 787,
                                                    "name": "vaults",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 587,
                                                    "src": "4611:6:7",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_mapping$_t_bytes32_$_t_array$_t_bytes32_$dyn_storage_$",
                                                        "typeString": "mapping(bytes32 => bytes32[] storage ref)"
                                                    }
                                                },
                                                "id": 789,
                                                "indexExpression": {
                                                    "argumentTypes": null,
                                                    "id": 788,
                                                    "name": "_creator",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 754,
                                                    "src": "4618:8:7",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_bytes32",
                                                        "typeString": "bytes32"
                                                    }
                                                },
                                                "isConstant": false,
                                                "isLValue": true,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "nodeType": "IndexAccess",
                                                "src": "4611:16:7",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_array$_t_bytes32_$dyn_storage",
                                                    "typeString": "bytes32[] storage ref"
                                                }
                                            },
                                            "id": 790,
                                            "isConstant": false,
                                            "isLValue": true,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "memberName": "length",
                                            "nodeType": "MemberAccess",
                                            "referencedDeclaration": null,
                                            "src": "4611:23:7",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                            }
                                        },
                                        "src": "4579:55:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "id": 792,
                                    "nodeType": "ExpressionStatement",
                                    "src": "4579:55:7"
                                },
                                {
                                    "expression": {
                                        "argumentTypes": null,
                                        "arguments": [
                                            {
                                                "argumentTypes": null,
                                                "id": 797,
                                                "name": "_creator",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 754,
                                                "src": "4667:8:7",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes32",
                                                    "typeString": "bytes32"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes32",
                                                    "typeString": "bytes32"
                                                }
                                            ],
                                            "expression": {
                                                "argumentTypes": null,
                                                "baseExpression": {
                                                    "argumentTypes": null,
                                                    "id": 793,
                                                    "name": "vaults",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 587,
                                                    "src": "4645:6:7",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_mapping$_t_bytes32_$_t_array$_t_bytes32_$dyn_storage_$",
                                                        "typeString": "mapping(bytes32 => bytes32[] storage ref)"
                                                    }
                                                },
                                                "id": 795,
                                                "indexExpression": {
                                                    "argumentTypes": null,
                                                    "id": 794,
                                                    "name": "_creator",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 754,
                                                    "src": "4652:8:7",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_bytes32",
                                                        "typeString": "bytes32"
                                                    }
                                                },
                                                "isConstant": false,
                                                "isLValue": true,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "nodeType": "IndexAccess",
                                                "src": "4645:16:7",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_array$_t_bytes32_$dyn_storage",
                                                    "typeString": "bytes32[] storage ref"
                                                }
                                            },
                                            "id": 796,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "memberName": "push",
                                            "nodeType": "MemberAccess",
                                            "referencedDeclaration": null,
                                            "src": "4645:21:7",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_arraypush_nonpayable$_t_bytes32_$returns$_t_uint256_$",
                                                "typeString": "function (bytes32) returns (uint256)"
                                            }
                                        },
                                        "id": 798,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "4645:31:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "id": 799,
                                    "nodeType": "ExpressionStatement",
                                    "src": "4645:31:7"
                                }
                            ]
                        },
                        "documentation": "This function creates a vault for the creator\r\n@param _creator vault creator's username, eg, creator@email.com\r\n@param _id vault creator's unique id using which it can be reached, eg, its Google/APNS token\r",
                        "id": 801,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "createVault",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 757,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 754,
                                    "name": "_creator",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 801,
                                    "src": "4394:16:7",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes32",
                                        "typeString": "bytes32"
                                    },
                                    "typeName": {
                                        "id": 753,
                                        "name": "bytes32",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "4394:7:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 756,
                                    "name": "_id",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 801,
                                    "src": "4412:19:7",
                                    "stateVariable": false,
                                    "storageLocation": "calldata",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_calldata_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 755,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "4412:6:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                }
                            ],
                            "src": "4393:39:7"
                        },
                        "returnParameters": {
                            "id": 758,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "4442:0:7"
                        },
                        "scope": 1949,
                        "src": "4373:311:7",
                        "stateMutability": "nonpayable",
                        "superFunction": 374,
                        "visibility": "external"
                    },
                    {
                        "body": {
                            "id": 820,
                            "nodeType": "Block",
                            "src": "5107:44:7",
                            "statements": [
                                {
                                    "expression": {
                                        "argumentTypes": null,
                                        "id": 818,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "leftHandSide": {
                                            "argumentTypes": null,
                                            "baseExpression": {
                                                "argumentTypes": null,
                                                "id": 814,
                                                "name": "creators",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 582,
                                                "src": "5118:8:7",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_mapping$_t_bytes32_$_t_string_storage_$",
                                                    "typeString": "mapping(bytes32 => string storage ref)"
                                                }
                                            },
                                            "id": 816,
                                            "indexExpression": {
                                                "argumentTypes": null,
                                                "id": 815,
                                                "name": "_creator",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 803,
                                                "src": "5127:8:7",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes32",
                                                    "typeString": "bytes32"
                                                }
                                            },
                                            "isConstant": false,
                                            "isLValue": true,
                                            "isPure": false,
                                            "lValueRequested": true,
                                            "nodeType": "IndexAccess",
                                            "src": "5118:18:7",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_string_storage",
                                                "typeString": "string storage ref"
                                            }
                                        },
                                        "nodeType": "Assignment",
                                        "operator": "=",
                                        "rightHandSide": {
                                            "argumentTypes": null,
                                            "id": 817,
                                            "name": "_new",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 807,
                                            "src": "5139:4:7",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_string_calldata_ptr",
                                                "typeString": "string calldata"
                                            }
                                        },
                                        "src": "5118:25:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage",
                                            "typeString": "string storage ref"
                                        }
                                    },
                                    "id": 819,
                                    "nodeType": "ExpressionStatement",
                                    "src": "5118:25:7"
                                }
                            ]
                        },
                        "documentation": "This function resets the vault owner's unique id\r\n@param _creator the vault's creator (eg, creator@email.com)\r\n@param _id vault creator's unique id using which it can be reached, eg, its Google/APNS token\r\n@param _new vault creator's new unique id\r",
                        "id": 821,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [
                            {
                                "arguments": [
                                    {
                                        "argumentTypes": null,
                                        "id": 810,
                                        "name": "_creator",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 803,
                                        "src": "5083:8:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                        }
                                    },
                                    {
                                        "argumentTypes": null,
                                        "id": 811,
                                        "name": "_id",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 805,
                                        "src": "5093:3:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_calldata_ptr",
                                            "typeString": "string calldata"
                                        }
                                    }
                                ],
                                "id": 812,
                                "modifierName": {
                                    "argumentTypes": null,
                                    "id": 809,
                                    "name": "onlySigner",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 695,
                                    "src": "5072:10:7",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_modifier$_t_bytes32_$_t_string_memory_ptr_$",
                                        "typeString": "modifier (bytes32,string memory)"
                                    }
                                },
                                "nodeType": "ModifierInvocation",
                                "src": "5072:25:7"
                            }
                        ],
                        "name": "resetPin",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 808,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 803,
                                    "name": "_creator",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 821,
                                    "src": "5011:16:7",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes32",
                                        "typeString": "bytes32"
                                    },
                                    "typeName": {
                                        "id": 802,
                                        "name": "bytes32",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "5011:7:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 805,
                                    "name": "_id",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 821,
                                    "src": "5029:19:7",
                                    "stateVariable": false,
                                    "storageLocation": "calldata",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_calldata_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 804,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "5029:6:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 807,
                                    "name": "_new",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 821,
                                    "src": "5050:20:7",
                                    "stateVariable": false,
                                    "storageLocation": "calldata",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_calldata_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 806,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "5050:6:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                }
                            ],
                            "src": "5010:61:7"
                        },
                        "returnParameters": {
                            "id": 813,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "5107:0:7"
                        },
                        "scope": 1949,
                        "src": "4993:158:7",
                        "stateMutability": "nonpayable",
                        "superFunction": 383,
                        "visibility": "external"
                    },
                    {
                        "body": {
                            "id": 832,
                            "nodeType": "Block",
                            "src": "5291:45:7",
                            "statements": [
                                {
                                    "expression": {
                                        "argumentTypes": null,
                                        "baseExpression": {
                                            "argumentTypes": null,
                                            "id": 827,
                                            "name": "signers",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 578,
                                            "src": "5309:7:7",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$",
                                                "typeString": "mapping(address => bytes32[] storage ref)"
                                            }
                                        },
                                        "id": 830,
                                        "indexExpression": {
                                            "argumentTypes": null,
                                            "expression": {
                                                "argumentTypes": null,
                                                "id": 828,
                                                "name": "msg",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 3956,
                                                "src": "5317:3:7",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_magic_message",
                                                    "typeString": "msg"
                                                }
                                            },
                                            "id": 829,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "memberName": "sender",
                                            "nodeType": "MemberAccess",
                                            "referencedDeclaration": null,
                                            "src": "5317:10:7",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_address_payable",
                                                "typeString": "address payable"
                                            }
                                        },
                                        "isConstant": false,
                                        "isLValue": true,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "nodeType": "IndexAccess",
                                        "src": "5309:19:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_array$_t_bytes32_$dyn_storage",
                                            "typeString": "bytes32[] storage ref"
                                        }
                                    },
                                    "functionReturnParameters": 826,
                                    "id": 831,
                                    "nodeType": "Return",
                                    "src": "5302:26:7"
                                }
                            ]
                        },
                        "documentation": "This function returns list of vault creators\r",
                        "id": 833,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "getVaults",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 822,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "5249:2:7"
                        },
                        "returnParameters": {
                            "id": 826,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 825,
                                    "name": "",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 833,
                                    "src": "5274:16:7",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
                                        "typeString": "bytes32[]"
                                    },
                                    "typeName": {
                                        "baseType": {
                                            "id": 823,
                                            "name": "bytes32",
                                            "nodeType": "ElementaryTypeName",
                                            "src": "5274:7:7",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_bytes32",
                                                "typeString": "bytes32"
                                            }
                                        },
                                        "id": 824,
                                        "length": null,
                                        "nodeType": "ArrayTypeName",
                                        "src": "5274:9:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr",
                                            "typeString": "bytes32[]"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                }
                            ],
                            "src": "5273:18:7"
                        },
                        "scope": 1949,
                        "src": "5231:105:7",
                        "stateMutability": "view",
                        "superFunction": null,
                        "visibility": "external"
                    },
                    {
                        "body": {
                            "id": 902,
                            "nodeType": "Block",
                            "src": "5790:351:7",
                            "statements": [
                                {
                                    "assignments": [
                                        847
                                    ],
                                    "declarations": [
                                        {
                                            "constant": false,
                                            "id": 847,
                                            "name": "found",
                                            "nodeType": "VariableDeclaration",
                                            "scope": 902,
                                            "src": "5801:10:7",
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_bool",
                                                "typeString": "bool"
                                            },
                                            "typeName": {
                                                "id": 846,
                                                "name": "bool",
                                                "nodeType": "ElementaryTypeName",
                                                "src": "5801:4:7",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bool",
                                                    "typeString": "bool"
                                                }
                                            },
                                            "value": null,
                                            "visibility": "internal"
                                        }
                                    ],
                                    "id": 849,
                                    "initialValue": {
                                        "argumentTypes": null,
                                        "hexValue": "66616c7365",
                                        "id": 848,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": true,
                                        "kind": "bool",
                                        "lValueRequested": false,
                                        "nodeType": "Literal",
                                        "src": "5814:5:7",
                                        "subdenomination": null,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        },
                                        "value": "false"
                                    },
                                    "nodeType": "VariableDeclarationStatement",
                                    "src": "5801:18:7"
                                },
                                {
                                    "body": {
                                        "id": 886,
                                        "nodeType": "Block",
                                        "src": "5878:157:7",
                                        "statements": [
                                            {
                                                "condition": {
                                                    "argumentTypes": null,
                                                    "commonType": {
                                                        "typeIdentifier": "t_bytes32",
                                                        "typeString": "bytes32"
                                                    },
                                                    "id": 871,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "leftExpression": {
                                                        "argumentTypes": null,
                                                        "baseExpression": {
                                                            "argumentTypes": null,
                                                            "baseExpression": {
                                                                "argumentTypes": null,
                                                                "id": 864,
                                                                "name": "signers",
                                                                "nodeType": "Identifier",
                                                                "overloadedDeclarations": [],
                                                                "referencedDeclaration": 578,
                                                                "src": "5896:7:7",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$",
                                                                    "typeString": "mapping(address => bytes32[] storage ref)"
                                                                }
                                                            },
                                                            "id": 867,
                                                            "indexExpression": {
                                                                "argumentTypes": null,
                                                                "expression": {
                                                                    "argumentTypes": null,
                                                                    "id": 865,
                                                                    "name": "msg",
                                                                    "nodeType": "Identifier",
                                                                    "overloadedDeclarations": [],
                                                                    "referencedDeclaration": 3956,
                                                                    "src": "5904:3:7",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_magic_message",
                                                                        "typeString": "msg"
                                                                    }
                                                                },
                                                                "id": 866,
                                                                "isConstant": false,
                                                                "isLValue": false,
                                                                "isPure": false,
                                                                "lValueRequested": false,
                                                                "memberName": "sender",
                                                                "nodeType": "MemberAccess",
                                                                "referencedDeclaration": null,
                                                                "src": "5904:10:7",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_address_payable",
                                                                    "typeString": "address payable"
                                                                }
                                                            },
                                                            "isConstant": false,
                                                            "isLValue": true,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "nodeType": "IndexAccess",
                                                            "src": "5896:19:7",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_array$_t_bytes32_$dyn_storage",
                                                                "typeString": "bytes32[] storage ref"
                                                            }
                                                        },
                                                        "id": 869,
                                                        "indexExpression": {
                                                            "argumentTypes": null,
                                                            "id": 868,
                                                            "name": "i",
                                                            "nodeType": "Identifier",
                                                            "overloadedDeclarations": [],
                                                            "referencedDeclaration": 851,
                                                            "src": "5916:1:7",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_uint256",
                                                                "typeString": "uint256"
                                                            }
                                                        },
                                                        "isConstant": false,
                                                        "isLValue": true,
                                                        "isPure": false,
                                                        "lValueRequested": false,
                                                        "nodeType": "IndexAccess",
                                                        "src": "5896:22:7",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bytes32",
                                                            "typeString": "bytes32"
                                                        }
                                                    },
                                                    "nodeType": "BinaryOperation",
                                                    "operator": "==",
                                                    "rightExpression": {
                                                        "argumentTypes": null,
                                                        "id": 870,
                                                        "name": "_creator",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 835,
                                                        "src": "5920:8:7",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bytes32",
                                                            "typeString": "bytes32"
                                                        }
                                                    },
                                                    "src": "5896:32:7",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_bool",
                                                        "typeString": "bool"
                                                    }
                                                },
                                                "falseBody": null,
                                                "id": 885,
                                                "nodeType": "IfStatement",
                                                "src": "5893:131:7",
                                                "trueBody": {
                                                    "id": 884,
                                                    "nodeType": "Block",
                                                    "src": "5929:95:7",
                                                    "statements": [
                                                        {
                                                            "expression": {
                                                                "argumentTypes": null,
                                                                "id": 874,
                                                                "isConstant": false,
                                                                "isLValue": false,
                                                                "isPure": false,
                                                                "lValueRequested": false,
                                                                "leftHandSide": {
                                                                    "argumentTypes": null,
                                                                    "id": 872,
                                                                    "name": "found",
                                                                    "nodeType": "Identifier",
                                                                    "overloadedDeclarations": [],
                                                                    "referencedDeclaration": 847,
                                                                    "src": "5948:5:7",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_bool",
                                                                        "typeString": "bool"
                                                                    }
                                                                },
                                                                "nodeType": "Assignment",
                                                                "operator": "=",
                                                                "rightHandSide": {
                                                                    "argumentTypes": null,
                                                                    "hexValue": "74727565",
                                                                    "id": 873,
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": true,
                                                                    "kind": "bool",
                                                                    "lValueRequested": false,
                                                                    "nodeType": "Literal",
                                                                    "src": "5956:4:7",
                                                                    "subdenomination": null,
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_bool",
                                                                        "typeString": "bool"
                                                                    },
                                                                    "value": "true"
                                                                },
                                                                "src": "5948:12:7",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_bool",
                                                                    "typeString": "bool"
                                                                }
                                                            },
                                                            "id": 875,
                                                            "nodeType": "ExpressionStatement",
                                                            "src": "5948:12:7"
                                                        },
                                                        {
                                                            "expression": {
                                                                "argumentTypes": null,
                                                                "id": 882,
                                                                "isConstant": false,
                                                                "isLValue": false,
                                                                "isPure": false,
                                                                "lValueRequested": false,
                                                                "nodeType": "UnaryOperation",
                                                                "operator": "delete",
                                                                "prefix": true,
                                                                "src": "5979:29:7",
                                                                "subExpression": {
                                                                    "argumentTypes": null,
                                                                    "baseExpression": {
                                                                        "argumentTypes": null,
                                                                        "baseExpression": {
                                                                            "argumentTypes": null,
                                                                            "id": 876,
                                                                            "name": "signers",
                                                                            "nodeType": "Identifier",
                                                                            "overloadedDeclarations": [],
                                                                            "referencedDeclaration": 578,
                                                                            "src": "5986:7:7",
                                                                            "typeDescriptions": {
                                                                                "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$",
                                                                                "typeString": "mapping(address => bytes32[] storage ref)"
                                                                            }
                                                                        },
                                                                        "id": 879,
                                                                        "indexExpression": {
                                                                            "argumentTypes": null,
                                                                            "expression": {
                                                                                "argumentTypes": null,
                                                                                "id": 877,
                                                                                "name": "msg",
                                                                                "nodeType": "Identifier",
                                                                                "overloadedDeclarations": [],
                                                                                "referencedDeclaration": 3956,
                                                                                "src": "5994:3:7",
                                                                                "typeDescriptions": {
                                                                                    "typeIdentifier": "t_magic_message",
                                                                                    "typeString": "msg"
                                                                                }
                                                                            },
                                                                            "id": 878,
                                                                            "isConstant": false,
                                                                            "isLValue": false,
                                                                            "isPure": false,
                                                                            "lValueRequested": false,
                                                                            "memberName": "sender",
                                                                            "nodeType": "MemberAccess",
                                                                            "referencedDeclaration": null,
                                                                            "src": "5994:10:7",
                                                                            "typeDescriptions": {
                                                                                "typeIdentifier": "t_address_payable",
                                                                                "typeString": "address payable"
                                                                            }
                                                                        },
                                                                        "isConstant": false,
                                                                        "isLValue": true,
                                                                        "isPure": false,
                                                                        "lValueRequested": false,
                                                                        "nodeType": "IndexAccess",
                                                                        "src": "5986:19:7",
                                                                        "typeDescriptions": {
                                                                            "typeIdentifier": "t_array$_t_bytes32_$dyn_storage",
                                                                            "typeString": "bytes32[] storage ref"
                                                                        }
                                                                    },
                                                                    "id": 881,
                                                                    "indexExpression": {
                                                                        "argumentTypes": null,
                                                                        "id": 880,
                                                                        "name": "i",
                                                                        "nodeType": "Identifier",
                                                                        "overloadedDeclarations": [],
                                                                        "referencedDeclaration": 851,
                                                                        "src": "6006:1:7",
                                                                        "typeDescriptions": {
                                                                            "typeIdentifier": "t_uint256",
                                                                            "typeString": "uint256"
                                                                        }
                                                                    },
                                                                    "isConstant": false,
                                                                    "isLValue": true,
                                                                    "isPure": false,
                                                                    "lValueRequested": true,
                                                                    "nodeType": "IndexAccess",
                                                                    "src": "5986:22:7",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_bytes32",
                                                                        "typeString": "bytes32"
                                                                    }
                                                                },
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_tuple$__$",
                                                                    "typeString": "tuple()"
                                                                }
                                                            },
                                                            "id": 883,
                                                            "nodeType": "ExpressionStatement",
                                                            "src": "5979:29:7"
                                                        }
                                                    ]
                                                }
                                            }
                                        ]
                                    },
                                    "condition": {
                                        "argumentTypes": null,
                                        "commonType": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        },
                                        "id": 860,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "leftExpression": {
                                            "argumentTypes": null,
                                            "id": 854,
                                            "name": "i",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 851,
                                            "src": "5844:1:7",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                            }
                                        },
                                        "nodeType": "BinaryOperation",
                                        "operator": "<",
                                        "rightExpression": {
                                            "argumentTypes": null,
                                            "expression": {
                                                "argumentTypes": null,
                                                "baseExpression": {
                                                    "argumentTypes": null,
                                                    "id": 855,
                                                    "name": "signers",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 578,
                                                    "src": "5846:7:7",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$",
                                                        "typeString": "mapping(address => bytes32[] storage ref)"
                                                    }
                                                },
                                                "id": 858,
                                                "indexExpression": {
                                                    "argumentTypes": null,
                                                    "expression": {
                                                        "argumentTypes": null,
                                                        "id": 856,
                                                        "name": "msg",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 3956,
                                                        "src": "5854:3:7",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_message",
                                                            "typeString": "msg"
                                                        }
                                                    },
                                                    "id": 857,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "memberName": "sender",
                                                    "nodeType": "MemberAccess",
                                                    "referencedDeclaration": null,
                                                    "src": "5854:10:7",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_address_payable",
                                                        "typeString": "address payable"
                                                    }
                                                },
                                                "isConstant": false,
                                                "isLValue": true,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "nodeType": "IndexAccess",
                                                "src": "5846:19:7",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_array$_t_bytes32_$dyn_storage",
                                                    "typeString": "bytes32[] storage ref"
                                                }
                                            },
                                            "id": 859,
                                            "isConstant": false,
                                            "isLValue": true,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "memberName": "length",
                                            "nodeType": "MemberAccess",
                                            "referencedDeclaration": null,
                                            "src": "5846:26:7",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                            }
                                        },
                                        "src": "5844:28:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "id": 887,
                                    "initializationExpression": {
                                        "assignments": [
                                            851
                                        ],
                                        "declarations": [
                                            {
                                                "constant": false,
                                                "id": 851,
                                                "name": "i",
                                                "nodeType": "VariableDeclaration",
                                                "scope": 887,
                                                "src": "5834:6:7",
                                                "stateVariable": false,
                                                "storageLocation": "default",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                },
                                                "typeName": {
                                                    "id": 850,
                                                    "name": "uint",
                                                    "nodeType": "ElementaryTypeName",
                                                    "src": "5834:4:7",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_uint256",
                                                        "typeString": "uint256"
                                                    }
                                                },
                                                "value": null,
                                                "visibility": "internal"
                                            }
                                        ],
                                        "id": 853,
                                        "initialValue": {
                                            "argumentTypes": null,
                                            "hexValue": "30",
                                            "id": 852,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": true,
                                            "kind": "number",
                                            "lValueRequested": false,
                                            "nodeType": "Literal",
                                            "src": "5841:1:7",
                                            "subdenomination": null,
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_rational_0_by_1",
                                                "typeString": "int_const 0"
                                            },
                                            "value": "0"
                                        },
                                        "nodeType": "VariableDeclarationStatement",
                                        "src": "5834:8:7"
                                    },
                                    "loopExpression": {
                                        "expression": {
                                            "argumentTypes": null,
                                            "id": 862,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "nodeType": "UnaryOperation",
                                            "operator": "++",
                                            "prefix": false,
                                            "src": "5874:3:7",
                                            "subExpression": {
                                                "argumentTypes": null,
                                                "id": 861,
                                                "name": "i",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 851,
                                                "src": "5874:1:7",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                }
                                            },
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                            }
                                        },
                                        "id": 863,
                                        "nodeType": "ExpressionStatement",
                                        "src": "5874:3:7"
                                    },
                                    "nodeType": "ForStatement",
                                    "src": "5830:205:7"
                                },
                                {
                                    "expression": {
                                        "argumentTypes": null,
                                        "arguments": [
                                            {
                                                "argumentTypes": null,
                                                "commonType": {
                                                    "typeIdentifier": "t_bool",
                                                    "typeString": "bool"
                                                },
                                                "id": 891,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "leftExpression": {
                                                    "argumentTypes": null,
                                                    "id": 889,
                                                    "name": "found",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 847,
                                                    "src": "6053:5:7",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_bool",
                                                        "typeString": "bool"
                                                    }
                                                },
                                                "nodeType": "BinaryOperation",
                                                "operator": "==",
                                                "rightExpression": {
                                                    "argumentTypes": null,
                                                    "hexValue": "74727565",
                                                    "id": 890,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "kind": "bool",
                                                    "lValueRequested": false,
                                                    "nodeType": "Literal",
                                                    "src": "6060:4:7",
                                                    "subdenomination": null,
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_bool",
                                                        "typeString": "bool"
                                                    },
                                                    "value": "true"
                                                },
                                                "src": "6053:11:7",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bool",
                                                    "typeString": "bool"
                                                }
                                            },
                                            {
                                                "argumentTypes": null,
                                                "hexValue": "4e6f7420612076616c6964207369676e6572",
                                                "id": 892,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": true,
                                                "kind": "string",
                                                "lValueRequested": false,
                                                "nodeType": "Literal",
                                                "src": "6066:20:7",
                                                "subdenomination": null,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_stringliteral_f37a082e01a85edd8341f0ebe503684b2e02e2e628aaf440f1c678d418b8334a",
                                                    "typeString": "literal_string \"Not a valid signer\""
                                                },
                                                "value": "Not a valid signer"
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bool",
                                                    "typeString": "bool"
                                                },
                                                {
                                                    "typeIdentifier": "t_stringliteral_f37a082e01a85edd8341f0ebe503684b2e02e2e628aaf440f1c678d418b8334a",
                                                    "typeString": "literal_string \"Not a valid signer\""
                                                }
                                            ],
                                            "id": 888,
                                            "name": "require",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [
                                                3959,
                                                3960
                                            ],
                                            "referencedDeclaration": 3960,
                                            "src": "6045:7:7",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                                                "typeString": "function (bool,string memory) pure"
                                            }
                                        },
                                        "id": 893,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "6045:42:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 894,
                                    "nodeType": "ExpressionStatement",
                                    "src": "6045:42:7"
                                },
                                {
                                    "expression": {
                                        "argumentTypes": null,
                                        "arguments": [
                                            {
                                                "argumentTypes": null,
                                                "id": 899,
                                                "name": "_creator",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 835,
                                                "src": "6124:8:7",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes32",
                                                    "typeString": "bytes32"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes32",
                                                    "typeString": "bytes32"
                                                }
                                            ],
                                            "expression": {
                                                "argumentTypes": null,
                                                "baseExpression": {
                                                    "argumentTypes": null,
                                                    "id": 895,
                                                    "name": "signers",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 578,
                                                    "src": "6098:7:7",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_bytes32_$dyn_storage_$",
                                                        "typeString": "mapping(address => bytes32[] storage ref)"
                                                    }
                                                },
                                                "id": 897,
                                                "indexExpression": {
                                                    "argumentTypes": null,
                                                    "id": 896,
                                                    "name": "_transferee",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 839,
                                                    "src": "6106:11:7",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_address",
                                                        "typeString": "address"
                                                    }
                                                },
                                                "isConstant": false,
                                                "isLValue": true,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "nodeType": "IndexAccess",
                                                "src": "6098:20:7",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_array$_t_bytes32_$dyn_storage",
                                                    "typeString": "bytes32[] storage ref"
                                                }
                                            },
                                            "id": 898,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "memberName": "push",
                                            "nodeType": "MemberAccess",
                                            "referencedDeclaration": null,
                                            "src": "6098:25:7",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_arraypush_nonpayable$_t_bytes32_$returns$_t_uint256_$",
                                                "typeString": "function (bytes32) returns (uint256)"
                                            }
                                        },
                                        "id": 900,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "6098:35:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "id": 901,
                                    "nodeType": "ExpressionStatement",
                                    "src": "6098:35:7"
                                }
                            ]
                        },
                        "documentation": "This function transfers a vault from the transferor (msg.sender) to transferee\r\n@param  _creator    vault to transfer\r\n@param _id          vault creator's unique id using which it can be reached, eg, its Google/APNS token\r\n@param  _transferee address of the new vault operator\r",
                        "id": 903,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [
                            {
                                "arguments": [
                                    {
                                        "argumentTypes": null,
                                        "id": 842,
                                        "name": "_creator",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 835,
                                        "src": "5766:8:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                        }
                                    },
                                    {
                                        "argumentTypes": null,
                                        "id": 843,
                                        "name": "_id",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 837,
                                        "src": "5776:3:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_calldata_ptr",
                                            "typeString": "string calldata"
                                        }
                                    }
                                ],
                                "id": 844,
                                "modifierName": {
                                    "argumentTypes": null,
                                    "id": 841,
                                    "name": "onlySigner",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 695,
                                    "src": "5755:10:7",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_modifier$_t_bytes32_$_t_string_memory_ptr_$",
                                        "typeString": "modifier (bytes32,string memory)"
                                    }
                                },
                                "nodeType": "ModifierInvocation",
                                "src": "5755:25:7"
                            }
                        ],
                        "name": "transferVault",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 840,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 835,
                                    "name": "_creator",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 903,
                                    "src": "5695:16:7",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes32",
                                        "typeString": "bytes32"
                                    },
                                    "typeName": {
                                        "id": 834,
                                        "name": "bytes32",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "5695:7:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 837,
                                    "name": "_id",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 903,
                                    "src": "5713:19:7",
                                    "stateVariable": false,
                                    "storageLocation": "calldata",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_calldata_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 836,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "5713:6:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 839,
                                    "name": "_transferee",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 903,
                                    "src": "5734:19:7",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 838,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "5734:7:7",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                }
                            ],
                            "src": "5694:60:7"
                        },
                        "returnParameters": {
                            "id": 845,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "5790:0:7"
                        },
                        "scope": 1949,
                        "src": "5672:469:7",
                        "stateMutability": "nonpayable",
                        "superFunction": null,
                        "visibility": "external"
                    },
                    {
                        "body": {
                            "id": 947,
                            "nodeType": "Block",
                            "src": "6472:252:7",
                            "statements": [
                                {
                                    "expression": {
                                        "argumentTypes": null,
                                        "arguments": [
                                            {
                                                "argumentTypes": null,
                                                "commonType": {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                },
                                                "id": 918,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "leftExpression": {
                                                    "argumentTypes": null,
                                                    "expression": {
                                                        "argumentTypes": null,
                                                        "baseExpression": {
                                                            "argumentTypes": null,
                                                            "id": 913,
                                                            "name": "vaults",
                                                            "nodeType": "Identifier",
                                                            "overloadedDeclarations": [],
                                                            "referencedDeclaration": 587,
                                                            "src": "6493:6:7",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_mapping$_t_bytes32_$_t_array$_t_bytes32_$dyn_storage_$",
                                                                "typeString": "mapping(bytes32 => bytes32[] storage ref)"
                                                            }
                                                        },
                                                        "id": 915,
                                                        "indexExpression": {
                                                            "argumentTypes": null,
                                                            "id": 914,
                                                            "name": "_creator",
                                                            "nodeType": "Identifier",
                                                            "overloadedDeclarations": [],
                                                            "referencedDeclaration": 905,
                                                            "src": "6500:8:7",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_bytes32",
                                                                "typeString": "bytes32"
                                                            }
                                                        },
                                                        "isConstant": false,
                                                        "isLValue": true,
                                                        "isPure": false,
                                                        "lValueRequested": false,
                                                        "nodeType": "IndexAccess",
                                                        "src": "6493:16:7",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_array$_t_bytes32_$dyn_storage",
                                                            "typeString": "bytes32[] storage ref"
                                                        }
                                                    },
                                                    "id": 916,
                                                    "isConstant": false,
                                                    "isLValue": true,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "memberName": "length",
                                                    "nodeType": "MemberAccess",
                                                    "referencedDeclaration": null,
                                                    "src": "6493:23:7",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_uint256",
                                                        "typeString": "uint256"
                                                    }
                                                },
                                                "nodeType": "BinaryOperation",
                                                "operator": ">",
                                                "rightExpression": {
                                                    "argumentTypes": null,
                                                    "hexValue": "30",
                                                    "id": 917,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "kind": "number",
                                                    "lValueRequested": false,
                                                    "nodeType": "Literal",
                                                    "src": "6517:1:7",
                                                    "subdenomination": null,
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_rational_0_by_1",
                                                        "typeString": "int_const 0"
                                                    },
                                                    "value": "0"
                                                },
                                                "src": "6493:25:7",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bool",
                                                    "typeString": "bool"
                                                }
                                            },
                                            {
                                                "argumentTypes": null,
                                                "hexValue": "57616c6c6574206e6f742063726561746564",
                                                "id": 919,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": true,
                                                "kind": "string",
                                                "lValueRequested": false,
                                                "nodeType": "Literal",
                                                "src": "6520:20:7",
                                                "subdenomination": null,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_stringliteral_cf28cac2e077539d2938d211ab7ed1219b0df97b9af964f46c68e454ecaac58b",
                                                    "typeString": "literal_string \"Wallet not created\""
                                                },
                                                "value": "Wallet not created"
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bool",
                                                    "typeString": "bool"
                                                },
                                                {
                                                    "typeIdentifier": "t_stringliteral_cf28cac2e077539d2938d211ab7ed1219b0df97b9af964f46c68e454ecaac58b",
                                                    "typeString": "literal_string \"Wallet not created\""
                                                }
                                            ],
                                            "id": 912,
                                            "name": "require",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [
                                                3959,
                                                3960
                                            ],
                                            "referencedDeclaration": 3960,
                                            "src": "6485:7:7",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                                                "typeString": "function (bool,string memory) pure"
                                            }
                                        },
                                        "id": 920,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "6485:56:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 921,
                                    "nodeType": "ExpressionStatement",
                                    "src": "6485:56:7"
                                },
                                {
                                    "expression": {
                                        "argumentTypes": null,
                                        "arguments": [
                                            {
                                                "argumentTypes": null,
                                                "commonType": {
                                                    "typeIdentifier": "t_bytes32",
                                                    "typeString": "bytes32"
                                                },
                                                "id": 939,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "leftExpression": {
                                                    "argumentTypes": null,
                                                    "arguments": [
                                                        {
                                                            "argumentTypes": null,
                                                            "arguments": [
                                                                {
                                                                    "argumentTypes": null,
                                                                    "baseExpression": {
                                                                        "argumentTypes": null,
                                                                        "baseExpression": {
                                                                            "argumentTypes": null,
                                                                            "id": 926,
                                                                            "name": "pins",
                                                                            "nodeType": "Identifier",
                                                                            "overloadedDeclarations": [],
                                                                            "referencedDeclaration": 599,
                                                                            "src": "6590:4:7",
                                                                            "typeDescriptions": {
                                                                                "typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_bytes32_$_t_string_storage_$_$",
                                                                                "typeString": "mapping(bytes32 => mapping(bytes32 => string storage ref))"
                                                                            }
                                                                        },
                                                                        "id": 928,
                                                                        "indexExpression": {
                                                                            "argumentTypes": null,
                                                                            "id": 927,
                                                                            "name": "_creator",
                                                                            "nodeType": "Identifier",
                                                                            "overloadedDeclarations": [],
                                                                            "referencedDeclaration": 905,
                                                                            "src": "6595:8:7",
                                                                            "typeDescriptions": {
                                                                                "typeIdentifier": "t_bytes32",
                                                                                "typeString": "bytes32"
                                                                            }
                                                                        },
                                                                        "isConstant": false,
                                                                        "isLValue": true,
                                                                        "isPure": false,
                                                                        "lValueRequested": false,
                                                                        "nodeType": "IndexAccess",
                                                                        "src": "6590:14:7",
                                                                        "typeDescriptions": {
                                                                            "typeIdentifier": "t_mapping$_t_bytes32_$_t_string_storage_$",
                                                                            "typeString": "mapping(bytes32 => string storage ref)"
                                                                        }
                                                                    },
                                                                    "id": 930,
                                                                    "indexExpression": {
                                                                        "argumentTypes": null,
                                                                        "id": 929,
                                                                        "name": "_creator",
                                                                        "nodeType": "Identifier",
                                                                        "overloadedDeclarations": [],
                                                                        "referencedDeclaration": 905,
                                                                        "src": "6605:8:7",
                                                                        "typeDescriptions": {
                                                                            "typeIdentifier": "t_bytes32",
                                                                            "typeString": "bytes32"
                                                                        }
                                                                    },
                                                                    "isConstant": false,
                                                                    "isLValue": true,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "nodeType": "IndexAccess",
                                                                    "src": "6590:24:7",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_string_storage",
                                                                        "typeString": "string storage ref"
                                                                    }
                                                                }
                                                            ],
                                                            "expression": {
                                                                "argumentTypes": [
                                                                    {
                                                                        "typeIdentifier": "t_string_storage",
                                                                        "typeString": "string storage ref"
                                                                    }
                                                                ],
                                                                "expression": {
                                                                    "argumentTypes": null,
                                                                    "id": 924,
                                                                    "name": "abi",
                                                                    "nodeType": "Identifier",
                                                                    "overloadedDeclarations": [],
                                                                    "referencedDeclaration": 3943,
                                                                    "src": "6573:3:7",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_magic_abi",
                                                                        "typeString": "abi"
                                                                    }
                                                                },
                                                                "id": 925,
                                                                "isConstant": false,
                                                                "isLValue": false,
                                                                "isPure": true,
                                                                "lValueRequested": false,
                                                                "memberName": "encodePacked",
                                                                "nodeType": "MemberAccess",
                                                                "referencedDeclaration": null,
                                                                "src": "6573:16:7",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                                                                    "typeString": "function () pure returns (bytes memory)"
                                                                }
                                                            },
                                                            "id": 931,
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": false,
                                                            "kind": "functionCall",
                                                            "lValueRequested": false,
                                                            "names": [],
                                                            "nodeType": "FunctionCall",
                                                            "src": "6573:42:7",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_bytes_memory_ptr",
                                                                "typeString": "bytes memory"
                                                            }
                                                        }
                                                    ],
                                                    "expression": {
                                                        "argumentTypes": [
                                                            {
                                                                "typeIdentifier": "t_bytes_memory_ptr",
                                                                "typeString": "bytes memory"
                                                            }
                                                        ],
                                                        "id": 923,
                                                        "name": "keccak256",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 3950,
                                                        "src": "6563:9:7",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$",
                                                            "typeString": "function (bytes memory) pure returns (bytes32)"
                                                        }
                                                    },
                                                    "id": 932,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "kind": "functionCall",
                                                    "lValueRequested": false,
                                                    "names": [],
                                                    "nodeType": "FunctionCall",
                                                    "src": "6563:53:7",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_bytes32",
                                                        "typeString": "bytes32"
                                                    }
                                                },
                                                "nodeType": "BinaryOperation",
                                                "operator": "==",
                                                "rightExpression": {
                                                    "argumentTypes": null,
                                                    "arguments": [
                                                        {
                                                            "argumentTypes": null,
                                                            "arguments": [
                                                                {
                                                                    "argumentTypes": null,
                                                                    "id": 936,
                                                                    "name": "_pin",
                                                                    "nodeType": "Identifier",
                                                                    "overloadedDeclarations": [],
                                                                    "referencedDeclaration": 907,
                                                                    "src": "6647:4:7",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_string_calldata_ptr",
                                                                        "typeString": "string calldata"
                                                                    }
                                                                }
                                                            ],
                                                            "expression": {
                                                                "argumentTypes": [
                                                                    {
                                                                        "typeIdentifier": "t_string_calldata_ptr",
                                                                        "typeString": "string calldata"
                                                                    }
                                                                ],
                                                                "expression": {
                                                                    "argumentTypes": null,
                                                                    "id": 934,
                                                                    "name": "abi",
                                                                    "nodeType": "Identifier",
                                                                    "overloadedDeclarations": [],
                                                                    "referencedDeclaration": 3943,
                                                                    "src": "6630:3:7",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_magic_abi",
                                                                        "typeString": "abi"
                                                                    }
                                                                },
                                                                "id": 935,
                                                                "isConstant": false,
                                                                "isLValue": false,
                                                                "isPure": true,
                                                                "lValueRequested": false,
                                                                "memberName": "encodePacked",
                                                                "nodeType": "MemberAccess",
                                                                "referencedDeclaration": null,
                                                                "src": "6630:16:7",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                                                                    "typeString": "function () pure returns (bytes memory)"
                                                                }
                                                            },
                                                            "id": 937,
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": false,
                                                            "kind": "functionCall",
                                                            "lValueRequested": false,
                                                            "names": [],
                                                            "nodeType": "FunctionCall",
                                                            "src": "6630:22:7",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_bytes_memory_ptr",
                                                                "typeString": "bytes memory"
                                                            }
                                                        }
                                                    ],
                                                    "expression": {
                                                        "argumentTypes": [
                                                            {
                                                                "typeIdentifier": "t_bytes_memory_ptr",
                                                                "typeString": "bytes memory"
                                                            }
                                                        ],
                                                        "id": 933,
                                                        "name": "keccak256",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 3950,
                                                        "src": "6620:9:7",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$",
                                                            "typeString": "function (bytes memory) pure returns (bytes32)"
                                                        }
                                                    },
                                                    "id": 938,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "kind": "functionCall",
                                                    "lValueRequested": false,
                                                    "names": [],
                                                    "nodeType": "FunctionCall",
                                                    "src": "6620:33:7",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_bytes32",
                                                        "typeString": "bytes32"
                                                    }
                                                },
                                                "src": "6563:90:7",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bool",
                                                    "typeString": "bool"
                                                }
                                            },
                                            {
                                                "argumentTypes": null,
                                                "hexValue": "496e76616c69642050494e",
                                                "id": 940,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": true,
                                                "kind": "string",
                                                "lValueRequested": false,
                                                "nodeType": "Literal",
                                                "src": "6655:13:7",
                                                "subdenomination": null,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_stringliteral_f1f57ed7febb4e4767182e29f0f1c3922eb171b15af96477fb5211a0fc44866b",
                                                    "typeString": "literal_string \"Invalid PIN\""
                                                },
                                                "value": "Invalid PIN"
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bool",
                                                    "typeString": "bool"
                                                },
                                                {
                                                    "typeIdentifier": "t_stringliteral_f1f57ed7febb4e4767182e29f0f1c3922eb171b15af96477fb5211a0fc44866b",
                                                    "typeString": "literal_string \"Invalid PIN\""
                                                }
                                            ],
                                            "id": 922,
                                            "name": "require",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [
                                                3959,
                                                3960
                                            ],
                                            "referencedDeclaration": 3960,
                                            "src": "6555:7:7",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                                                "typeString": "function (bool,string memory) pure"
                                            }
                                        },
                                        "id": 941,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "6555:114:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 942,
                                    "nodeType": "ExpressionStatement",
                                    "src": "6555:114:7"
                                },
                                {
                                    "expression": {
                                        "argumentTypes": null,
                                        "baseExpression": {
                                            "argumentTypes": null,
                                            "id": 943,
                                            "name": "creators",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 582,
                                            "src": "6690:8:7",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_mapping$_t_bytes32_$_t_string_storage_$",
                                                "typeString": "mapping(bytes32 => string storage ref)"
                                            }
                                        },
                                        "id": 945,
                                        "indexExpression": {
                                            "argumentTypes": null,
                                            "id": 944,
                                            "name": "_creator",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 905,
                                            "src": "6699:8:7",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_bytes32",
                                                "typeString": "bytes32"
                                            }
                                        },
                                        "isConstant": false,
                                        "isLValue": true,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "nodeType": "IndexAccess",
                                        "src": "6690:18:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage",
                                            "typeString": "string storage ref"
                                        }
                                    },
                                    "functionReturnParameters": 911,
                                    "id": 946,
                                    "nodeType": "Return",
                                    "src": "6683:25:7"
                                }
                            ]
                        },
                        "documentation": "This function returns the vault creator's unique ID (eg, Google/APNS messaging token)\r\n@param _creator the vault creator (eg, creator@email.com)\r\n@return the vault creator's unique ID\r",
                        "id": 948,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "getCreator",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 908,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 905,
                                    "name": "_creator",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 948,
                                    "src": "6396:16:7",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes32",
                                        "typeString": "bytes32"
                                    },
                                    "typeName": {
                                        "id": 904,
                                        "name": "bytes32",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "6396:7:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 907,
                                    "name": "_pin",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 948,
                                    "src": "6414:20:7",
                                    "stateVariable": false,
                                    "storageLocation": "calldata",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_calldata_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 906,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "6414:6:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                }
                            ],
                            "src": "6395:40:7"
                        },
                        "returnParameters": {
                            "id": 911,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 910,
                                    "name": "",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 948,
                                    "src": "6458:13:7",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 909,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "6458:6:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                }
                            ],
                            "src": "6457:15:7"
                        },
                        "scope": 1949,
                        "src": "6376:348:7",
                        "stateMutability": "view",
                        "superFunction": 392,
                        "visibility": "external"
                    },
                    {
                        "body": {
                            "id": 1051,
                            "nodeType": "Block",
                            "src": "7298:688:7",
                            "statements": [
                                {
                                    "condition": {
                                        "argumentTypes": null,
                                        "commonType": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                        },
                                        "id": 979,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "leftExpression": {
                                            "argumentTypes": null,
                                            "arguments": [
                                                {
                                                    "argumentTypes": null,
                                                    "arguments": [
                                                        {
                                                            "argumentTypes": null,
                                                            "baseExpression": {
                                                                "argumentTypes": null,
                                                                "baseExpression": {
                                                                    "argumentTypes": null,
                                                                    "id": 966,
                                                                    "name": "shards",
                                                                    "nodeType": "Identifier",
                                                                    "overloadedDeclarations": [],
                                                                    "referencedDeclaration": 605,
                                                                    "src": "7430:6:7",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_bytes32_$_t_string_storage_$_$",
                                                                        "typeString": "mapping(bytes32 => mapping(bytes32 => string storage ref))"
                                                                    }
                                                                },
                                                                "id": 968,
                                                                "indexExpression": {
                                                                    "argumentTypes": null,
                                                                    "id": 967,
                                                                    "name": "_creator",
                                                                    "nodeType": "Identifier",
                                                                    "overloadedDeclarations": [],
                                                                    "referencedDeclaration": 950,
                                                                    "src": "7437:8:7",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_bytes32",
                                                                        "typeString": "bytes32"
                                                                    }
                                                                },
                                                                "isConstant": false,
                                                                "isLValue": true,
                                                                "isPure": false,
                                                                "lValueRequested": false,
                                                                "nodeType": "IndexAccess",
                                                                "src": "7430:16:7",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_mapping$_t_bytes32_$_t_string_storage_$",
                                                                    "typeString": "mapping(bytes32 => string storage ref)"
                                                                }
                                                            },
                                                            "id": 970,
                                                            "indexExpression": {
                                                                "argumentTypes": null,
                                                                "id": 969,
                                                                "name": "_participant",
                                                                "nodeType": "Identifier",
                                                                "overloadedDeclarations": [],
                                                                "referencedDeclaration": 954,
                                                                "src": "7447:12:7",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_bytes32",
                                                                    "typeString": "bytes32"
                                                                }
                                                            },
                                                            "isConstant": false,
                                                            "isLValue": true,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "nodeType": "IndexAccess",
                                                            "src": "7430:30:7",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_string_storage",
                                                                "typeString": "string storage ref"
                                                            }
                                                        }
                                                    ],
                                                    "expression": {
                                                        "argumentTypes": [
                                                            {
                                                                "typeIdentifier": "t_string_storage",
                                                                "typeString": "string storage ref"
                                                            }
                                                        ],
                                                        "expression": {
                                                            "argumentTypes": null,
                                                            "id": 964,
                                                            "name": "abi",
                                                            "nodeType": "Identifier",
                                                            "overloadedDeclarations": [],
                                                            "referencedDeclaration": 3943,
                                                            "src": "7413:3:7",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_magic_abi",
                                                                "typeString": "abi"
                                                            }
                                                        },
                                                        "id": 965,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "lValueRequested": false,
                                                        "memberName": "encodePacked",
                                                        "nodeType": "MemberAccess",
                                                        "referencedDeclaration": null,
                                                        "src": "7413:16:7",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                                                            "typeString": "function () pure returns (bytes memory)"
                                                        }
                                                    },
                                                    "id": 971,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "kind": "functionCall",
                                                    "lValueRequested": false,
                                                    "names": [],
                                                    "nodeType": "FunctionCall",
                                                    "src": "7413:48:7",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_bytes_memory_ptr",
                                                        "typeString": "bytes memory"
                                                    }
                                                }
                                            ],
                                            "expression": {
                                                "argumentTypes": [
                                                    {
                                                        "typeIdentifier": "t_bytes_memory_ptr",
                                                        "typeString": "bytes memory"
                                                    }
                                                ],
                                                "id": 963,
                                                "name": "keccak256",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 3950,
                                                "src": "7403:9:7",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$",
                                                    "typeString": "function (bytes memory) pure returns (bytes32)"
                                                }
                                            },
                                            "id": 972,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "kind": "functionCall",
                                            "lValueRequested": false,
                                            "names": [],
                                            "nodeType": "FunctionCall",
                                            "src": "7403:59:7",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_bytes32",
                                                "typeString": "bytes32"
                                            }
                                        },
                                        "nodeType": "BinaryOperation",
                                        "operator": "!=",
                                        "rightExpression": {
                                            "argumentTypes": null,
                                            "arguments": [
                                                {
                                                    "argumentTypes": null,
                                                    "arguments": [
                                                        {
                                                            "argumentTypes": null,
                                                            "id": 976,
                                                            "name": "_shard",
                                                            "nodeType": "Identifier",
                                                            "overloadedDeclarations": [],
                                                            "referencedDeclaration": 956,
                                                            "src": "7491:6:7",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_string_calldata_ptr",
                                                                "typeString": "string calldata"
                                                            }
                                                        }
                                                    ],
                                                    "expression": {
                                                        "argumentTypes": [
                                                            {
                                                                "typeIdentifier": "t_string_calldata_ptr",
                                                                "typeString": "string calldata"
                                                            }
                                                        ],
                                                        "expression": {
                                                            "argumentTypes": null,
                                                            "id": 974,
                                                            "name": "abi",
                                                            "nodeType": "Identifier",
                                                            "overloadedDeclarations": [],
                                                            "referencedDeclaration": 3943,
                                                            "src": "7474:3:7",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_magic_abi",
                                                                "typeString": "abi"
                                                            }
                                                        },
                                                        "id": 975,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "lValueRequested": false,
                                                        "memberName": "encodePacked",
                                                        "nodeType": "MemberAccess",
                                                        "referencedDeclaration": null,
                                                        "src": "7474:16:7",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                                                            "typeString": "function () pure returns (bytes memory)"
                                                        }
                                                    },
                                                    "id": 977,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "kind": "functionCall",
                                                    "lValueRequested": false,
                                                    "names": [],
                                                    "nodeType": "FunctionCall",
                                                    "src": "7474:24:7",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_bytes_memory_ptr",
                                                        "typeString": "bytes memory"
                                                    }
                                                }
                                            ],
                                            "expression": {
                                                "argumentTypes": [
                                                    {
                                                        "typeIdentifier": "t_bytes_memory_ptr",
                                                        "typeString": "bytes memory"
                                                    }
                                                ],
                                                "id": 973,
                                                "name": "keccak256",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 3950,
                                                "src": "7464:9:7",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$",
                                                    "typeString": "function (bytes memory) pure returns (bytes32)"
                                                }
                                            },
                                            "id": 978,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "kind": "functionCall",
                                            "lValueRequested": false,
                                            "names": [],
                                            "nodeType": "FunctionCall",
                                            "src": "7464:35:7",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_bytes32",
                                                "typeString": "bytes32"
                                            }
                                        },
                                        "src": "7403:96:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "falseBody": null,
                                    "id": 988,
                                    "nodeType": "IfStatement",
                                    "src": "7400:153:7",
                                    "trueBody": {
                                        "expression": {
                                            "argumentTypes": null,
                                            "id": 986,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "leftHandSide": {
                                                "argumentTypes": null,
                                                "baseExpression": {
                                                    "argumentTypes": null,
                                                    "baseExpression": {
                                                        "argumentTypes": null,
                                                        "id": 980,
                                                        "name": "shards",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 605,
                                                        "src": "7514:6:7",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_bytes32_$_t_string_storage_$_$",
                                                            "typeString": "mapping(bytes32 => mapping(bytes32 => string storage ref))"
                                                        }
                                                    },
                                                    "id": 983,
                                                    "indexExpression": {
                                                        "argumentTypes": null,
                                                        "id": 981,
                                                        "name": "_creator",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 950,
                                                        "src": "7521:8:7",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bytes32",
                                                            "typeString": "bytes32"
                                                        }
                                                    },
                                                    "isConstant": false,
                                                    "isLValue": true,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "nodeType": "IndexAccess",
                                                    "src": "7514:16:7",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_mapping$_t_bytes32_$_t_string_storage_$",
                                                        "typeString": "mapping(bytes32 => string storage ref)"
                                                    }
                                                },
                                                "id": 984,
                                                "indexExpression": {
                                                    "argumentTypes": null,
                                                    "id": 982,
                                                    "name": "_participant",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 954,
                                                    "src": "7531:12:7",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_bytes32",
                                                        "typeString": "bytes32"
                                                    }
                                                },
                                                "isConstant": false,
                                                "isLValue": true,
                                                "isPure": false,
                                                "lValueRequested": true,
                                                "nodeType": "IndexAccess",
                                                "src": "7514:30:7",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_string_storage",
                                                    "typeString": "string storage ref"
                                                }
                                            },
                                            "nodeType": "Assignment",
                                            "operator": "=",
                                            "rightHandSide": {
                                                "argumentTypes": null,
                                                "id": 985,
                                                "name": "_shard",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 956,
                                                "src": "7547:6:7",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_string_calldata_ptr",
                                                    "typeString": "string calldata"
                                                }
                                            },
                                            "src": "7514:39:7",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_string_storage",
                                                "typeString": "string storage ref"
                                            }
                                        },
                                        "id": 987,
                                        "nodeType": "ExpressionStatement",
                                        "src": "7514:39:7"
                                    }
                                },
                                {
                                    "assignments": [
                                        990
                                    ],
                                    "declarations": [
                                        {
                                            "constant": false,
                                            "id": 990,
                                            "name": "present",
                                            "nodeType": "VariableDeclaration",
                                            "scope": 1051,
                                            "src": "7564:12:7",
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_bool",
                                                "typeString": "bool"
                                            },
                                            "typeName": {
                                                "id": 989,
                                                "name": "bool",
                                                "nodeType": "ElementaryTypeName",
                                                "src": "7564:4:7",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bool",
                                                    "typeString": "bool"
                                                }
                                            },
                                            "value": null,
                                            "visibility": "internal"
                                        }
                                    ],
                                    "id": 992,
                                    "initialValue": {
                                        "argumentTypes": null,
                                        "hexValue": "66616c7365",
                                        "id": 991,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": true,
                                        "kind": "bool",
                                        "lValueRequested": false,
                                        "nodeType": "Literal",
                                        "src": "7579:5:7",
                                        "subdenomination": null,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        },
                                        "value": "false"
                                    },
                                    "nodeType": "VariableDeclarationStatement",
                                    "src": "7564:20:7"
                                },
                                {
                                    "body": {
                                        "id": 1018,
                                        "nodeType": "Block",
                                        "src": "7640:96:7",
                                        "statements": [
                                            {
                                                "condition": {
                                                    "argumentTypes": null,
                                                    "commonType": {
                                                        "typeIdentifier": "t_bytes32",
                                                        "typeString": "bytes32"
                                                    },
                                                    "id": 1012,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "leftExpression": {
                                                        "argumentTypes": null,
                                                        "baseExpression": {
                                                            "argumentTypes": null,
                                                            "baseExpression": {
                                                                "argumentTypes": null,
                                                                "id": 1006,
                                                                "name": "vaults",
                                                                "nodeType": "Identifier",
                                                                "overloadedDeclarations": [],
                                                                "referencedDeclaration": 587,
                                                                "src": "7658:6:7",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_mapping$_t_bytes32_$_t_array$_t_bytes32_$dyn_storage_$",
                                                                    "typeString": "mapping(bytes32 => bytes32[] storage ref)"
                                                                }
                                                            },
                                                            "id": 1008,
                                                            "indexExpression": {
                                                                "argumentTypes": null,
                                                                "id": 1007,
                                                                "name": "_creator",
                                                                "nodeType": "Identifier",
                                                                "overloadedDeclarations": [],
                                                                "referencedDeclaration": 950,
                                                                "src": "7665:8:7",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_bytes32",
                                                                    "typeString": "bytes32"
                                                                }
                                                            },
                                                            "isConstant": false,
                                                            "isLValue": true,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "nodeType": "IndexAccess",
                                                            "src": "7658:16:7",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_array$_t_bytes32_$dyn_storage",
                                                                "typeString": "bytes32[] storage ref"
                                                            }
                                                        },
                                                        "id": 1010,
                                                        "indexExpression": {
                                                            "argumentTypes": null,
                                                            "id": 1009,
                                                            "name": "i",
                                                            "nodeType": "Identifier",
                                                            "overloadedDeclarations": [],
                                                            "referencedDeclaration": 994,
                                                            "src": "7675:1:7",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_uint256",
                                                                "typeString": "uint256"
                                                            }
                                                        },
                                                        "isConstant": false,
                                                        "isLValue": true,
                                                        "isPure": false,
                                                        "lValueRequested": false,
                                                        "nodeType": "IndexAccess",
                                                        "src": "7658:19:7",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bytes32",
                                                            "typeString": "bytes32"
                                                        }
                                                    },
                                                    "nodeType": "BinaryOperation",
                                                    "operator": "==",
                                                    "rightExpression": {
                                                        "argumentTypes": null,
                                                        "id": 1011,
                                                        "name": "_participant",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 954,
                                                        "src": "7679:12:7",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bytes32",
                                                            "typeString": "bytes32"
                                                        }
                                                    },
                                                    "src": "7658:33:7",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_bool",
                                                        "typeString": "bool"
                                                    }
                                                },
                                                "falseBody": null,
                                                "id": 1017,
                                                "nodeType": "IfStatement",
                                                "src": "7655:69:7",
                                                "trueBody": {
                                                    "expression": {
                                                        "argumentTypes": null,
                                                        "id": 1015,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": false,
                                                        "lValueRequested": false,
                                                        "leftHandSide": {
                                                            "argumentTypes": null,
                                                            "id": 1013,
                                                            "name": "present",
                                                            "nodeType": "Identifier",
                                                            "overloadedDeclarations": [],
                                                            "referencedDeclaration": 990,
                                                            "src": "7710:7:7",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_bool",
                                                                "typeString": "bool"
                                                            }
                                                        },
                                                        "nodeType": "Assignment",
                                                        "operator": "=",
                                                        "rightHandSide": {
                                                            "argumentTypes": null,
                                                            "hexValue": "74727565",
                                                            "id": 1014,
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": true,
                                                            "kind": "bool",
                                                            "lValueRequested": false,
                                                            "nodeType": "Literal",
                                                            "src": "7720:4:7",
                                                            "subdenomination": null,
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_bool",
                                                                "typeString": "bool"
                                                            },
                                                            "value": "true"
                                                        },
                                                        "src": "7710:14:7",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    "id": 1016,
                                                    "nodeType": "ExpressionStatement",
                                                    "src": "7710:14:7"
                                                }
                                            }
                                        ]
                                    },
                                    "condition": {
                                        "argumentTypes": null,
                                        "commonType": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        },
                                        "id": 1002,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "leftExpression": {
                                            "argumentTypes": null,
                                            "id": 997,
                                            "name": "i",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 994,
                                            "src": "7609:1:7",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                            }
                                        },
                                        "nodeType": "BinaryOperation",
                                        "operator": "<",
                                        "rightExpression": {
                                            "argumentTypes": null,
                                            "expression": {
                                                "argumentTypes": null,
                                                "baseExpression": {
                                                    "argumentTypes": null,
                                                    "id": 998,
                                                    "name": "vaults",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 587,
                                                    "src": "7611:6:7",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_mapping$_t_bytes32_$_t_array$_t_bytes32_$dyn_storage_$",
                                                        "typeString": "mapping(bytes32 => bytes32[] storage ref)"
                                                    }
                                                },
                                                "id": 1000,
                                                "indexExpression": {
                                                    "argumentTypes": null,
                                                    "id": 999,
                                                    "name": "_creator",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 950,
                                                    "src": "7618:8:7",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_bytes32",
                                                        "typeString": "bytes32"
                                                    }
                                                },
                                                "isConstant": false,
                                                "isLValue": true,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "nodeType": "IndexAccess",
                                                "src": "7611:16:7",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_array$_t_bytes32_$dyn_storage",
                                                    "typeString": "bytes32[] storage ref"
                                                }
                                            },
                                            "id": 1001,
                                            "isConstant": false,
                                            "isLValue": true,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "memberName": "length",
                                            "nodeType": "MemberAccess",
                                            "referencedDeclaration": null,
                                            "src": "7611:23:7",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                            }
                                        },
                                        "src": "7609:25:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "id": 1019,
                                    "initializationExpression": {
                                        "assignments": [
                                            994
                                        ],
                                        "declarations": [
                                            {
                                                "constant": false,
                                                "id": 994,
                                                "name": "i",
                                                "nodeType": "VariableDeclaration",
                                                "scope": 1019,
                                                "src": "7599:6:7",
                                                "stateVariable": false,
                                                "storageLocation": "default",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                },
                                                "typeName": {
                                                    "id": 993,
                                                    "name": "uint",
                                                    "nodeType": "ElementaryTypeName",
                                                    "src": "7599:4:7",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_uint256",
                                                        "typeString": "uint256"
                                                    }
                                                },
                                                "value": null,
                                                "visibility": "internal"
                                            }
                                        ],
                                        "id": 996,
                                        "initialValue": {
                                            "argumentTypes": null,
                                            "hexValue": "30",
                                            "id": 995,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": true,
                                            "kind": "number",
                                            "lValueRequested": false,
                                            "nodeType": "Literal",
                                            "src": "7606:1:7",
                                            "subdenomination": null,
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_rational_0_by_1",
                                                "typeString": "int_const 0"
                                            },
                                            "value": "0"
                                        },
                                        "nodeType": "VariableDeclarationStatement",
                                        "src": "7599:8:7"
                                    },
                                    "loopExpression": {
                                        "expression": {
                                            "argumentTypes": null,
                                            "id": 1004,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "nodeType": "UnaryOperation",
                                            "operator": "++",
                                            "prefix": false,
                                            "src": "7636:3:7",
                                            "subExpression": {
                                                "argumentTypes": null,
                                                "id": 1003,
                                                "name": "i",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 994,
                                                "src": "7636:1:7",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                }
                                            },
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                            }
                                        },
                                        "id": 1005,
                                        "nodeType": "ExpressionStatement",
                                        "src": "7636:3:7"
                                    },
                                    "nodeType": "ForStatement",
                                    "src": "7595:141:7"
                                },
                                {
                                    "condition": {
                                        "argumentTypes": null,
                                        "commonType": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        },
                                        "id": 1025,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "leftExpression": {
                                            "argumentTypes": null,
                                            "commonType": {
                                                "typeIdentifier": "t_bytes32",
                                                "typeString": "bytes32"
                                            },
                                            "id": 1022,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "leftExpression": {
                                                "argumentTypes": null,
                                                "id": 1020,
                                                "name": "_creator",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 950,
                                                "src": "7749:8:7",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes32",
                                                    "typeString": "bytes32"
                                                }
                                            },
                                            "nodeType": "BinaryOperation",
                                            "operator": "!=",
                                            "rightExpression": {
                                                "argumentTypes": null,
                                                "id": 1021,
                                                "name": "_participant",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 954,
                                                "src": "7759:12:7",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes32",
                                                    "typeString": "bytes32"
                                                }
                                            },
                                            "src": "7749:22:7",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_bool",
                                                "typeString": "bool"
                                            }
                                        },
                                        "nodeType": "BinaryOperation",
                                        "operator": "&&",
                                        "rightExpression": {
                                            "argumentTypes": null,
                                            "id": 1024,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "nodeType": "UnaryOperation",
                                            "operator": "!",
                                            "prefix": true,
                                            "src": "7775:8:7",
                                            "subExpression": {
                                                "argumentTypes": null,
                                                "id": 1023,
                                                "name": "present",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 990,
                                                "src": "7776:7:7",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bool",
                                                    "typeString": "bool"
                                                }
                                            },
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_bool",
                                                "typeString": "bool"
                                            }
                                        },
                                        "src": "7749:34:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "falseBody": null,
                                    "id": 1050,
                                    "nodeType": "IfStatement",
                                    "src": "7746:233:7",
                                    "trueBody": {
                                        "id": 1049,
                                        "nodeType": "Block",
                                        "src": "7784:195:7",
                                        "statements": [
                                            {
                                                "expression": {
                                                    "argumentTypes": null,
                                                    "id": 1035,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "leftHandSide": {
                                                        "argumentTypes": null,
                                                        "baseExpression": {
                                                            "argumentTypes": null,
                                                            "baseExpression": {
                                                                "argumentTypes": null,
                                                                "id": 1026,
                                                                "name": "cosigners",
                                                                "nodeType": "Identifier",
                                                                "overloadedDeclarations": [],
                                                                "referencedDeclaration": 593,
                                                                "src": "7799:9:7",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_bytes32_$_t_uint256_$_$",
                                                                    "typeString": "mapping(bytes32 => mapping(bytes32 => uint256))"
                                                                }
                                                            },
                                                            "id": 1029,
                                                            "indexExpression": {
                                                                "argumentTypes": null,
                                                                "id": 1027,
                                                                "name": "_creator",
                                                                "nodeType": "Identifier",
                                                                "overloadedDeclarations": [],
                                                                "referencedDeclaration": 950,
                                                                "src": "7809:8:7",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_bytes32",
                                                                    "typeString": "bytes32"
                                                                }
                                                            },
                                                            "isConstant": false,
                                                            "isLValue": true,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "nodeType": "IndexAccess",
                                                            "src": "7799:19:7",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
                                                                "typeString": "mapping(bytes32 => uint256)"
                                                            }
                                                        },
                                                        "id": 1030,
                                                        "indexExpression": {
                                                            "argumentTypes": null,
                                                            "id": 1028,
                                                            "name": "_participant",
                                                            "nodeType": "Identifier",
                                                            "overloadedDeclarations": [],
                                                            "referencedDeclaration": 954,
                                                            "src": "7819:12:7",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_bytes32",
                                                                "typeString": "bytes32"
                                                            }
                                                        },
                                                        "isConstant": false,
                                                        "isLValue": true,
                                                        "isPure": false,
                                                        "lValueRequested": true,
                                                        "nodeType": "IndexAccess",
                                                        "src": "7799:33:7",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    "nodeType": "Assignment",
                                                    "operator": "=",
                                                    "rightHandSide": {
                                                        "argumentTypes": null,
                                                        "expression": {
                                                            "argumentTypes": null,
                                                            "baseExpression": {
                                                                "argumentTypes": null,
                                                                "id": 1031,
                                                                "name": "vaults",
                                                                "nodeType": "Identifier",
                                                                "overloadedDeclarations": [],
                                                                "referencedDeclaration": 587,
                                                                "src": "7835:6:7",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_mapping$_t_bytes32_$_t_array$_t_bytes32_$dyn_storage_$",
                                                                    "typeString": "mapping(bytes32 => bytes32[] storage ref)"
                                                                }
                                                            },
                                                            "id": 1033,
                                                            "indexExpression": {
                                                                "argumentTypes": null,
                                                                "id": 1032,
                                                                "name": "_creator",
                                                                "nodeType": "Identifier",
                                                                "overloadedDeclarations": [],
                                                                "referencedDeclaration": 950,
                                                                "src": "7842:8:7",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_bytes32",
                                                                    "typeString": "bytes32"
                                                                }
                                                            },
                                                            "isConstant": false,
                                                            "isLValue": true,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "nodeType": "IndexAccess",
                                                            "src": "7835:16:7",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_array$_t_bytes32_$dyn_storage",
                                                                "typeString": "bytes32[] storage ref"
                                                            }
                                                        },
                                                        "id": 1034,
                                                        "isConstant": false,
                                                        "isLValue": true,
                                                        "isPure": false,
                                                        "lValueRequested": false,
                                                        "memberName": "length",
                                                        "nodeType": "MemberAccess",
                                                        "referencedDeclaration": null,
                                                        "src": "7835:23:7",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    "src": "7799:59:7",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_uint256",
                                                        "typeString": "uint256"
                                                    }
                                                },
                                                "id": 1036,
                                                "nodeType": "ExpressionStatement",
                                                "src": "7799:59:7"
                                            },
                                            {
                                                "expression": {
                                                    "argumentTypes": null,
                                                    "arguments": [
                                                        {
                                                            "argumentTypes": null,
                                                            "id": 1041,
                                                            "name": "_participant",
                                                            "nodeType": "Identifier",
                                                            "overloadedDeclarations": [],
                                                            "referencedDeclaration": 954,
                                                            "src": "7895:12:7",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_bytes32",
                                                                "typeString": "bytes32"
                                                            }
                                                        }
                                                    ],
                                                    "expression": {
                                                        "argumentTypes": [
                                                            {
                                                                "typeIdentifier": "t_bytes32",
                                                                "typeString": "bytes32"
                                                            }
                                                        ],
                                                        "expression": {
                                                            "argumentTypes": null,
                                                            "baseExpression": {
                                                                "argumentTypes": null,
                                                                "id": 1037,
                                                                "name": "vaults",
                                                                "nodeType": "Identifier",
                                                                "overloadedDeclarations": [],
                                                                "referencedDeclaration": 587,
                                                                "src": "7873:6:7",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_mapping$_t_bytes32_$_t_array$_t_bytes32_$dyn_storage_$",
                                                                    "typeString": "mapping(bytes32 => bytes32[] storage ref)"
                                                                }
                                                            },
                                                            "id": 1039,
                                                            "indexExpression": {
                                                                "argumentTypes": null,
                                                                "id": 1038,
                                                                "name": "_creator",
                                                                "nodeType": "Identifier",
                                                                "overloadedDeclarations": [],
                                                                "referencedDeclaration": 950,
                                                                "src": "7880:8:7",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_bytes32",
                                                                    "typeString": "bytes32"
                                                                }
                                                            },
                                                            "isConstant": false,
                                                            "isLValue": true,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "nodeType": "IndexAccess",
                                                            "src": "7873:16:7",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_array$_t_bytes32_$dyn_storage",
                                                                "typeString": "bytes32[] storage ref"
                                                            }
                                                        },
                                                        "id": 1040,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": false,
                                                        "lValueRequested": false,
                                                        "memberName": "push",
                                                        "nodeType": "MemberAccess",
                                                        "referencedDeclaration": null,
                                                        "src": "7873:21:7",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_function_arraypush_nonpayable$_t_bytes32_$returns$_t_uint256_$",
                                                            "typeString": "function (bytes32) returns (uint256)"
                                                        }
                                                    },
                                                    "id": 1042,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "kind": "functionCall",
                                                    "lValueRequested": false,
                                                    "names": [],
                                                    "nodeType": "FunctionCall",
                                                    "src": "7873:35:7",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_uint256",
                                                        "typeString": "uint256"
                                                    }
                                                },
                                                "id": 1043,
                                                "nodeType": "ExpressionStatement",
                                                "src": "7873:35:7"
                                            },
                                            {
                                                "eventCall": {
                                                    "argumentTypes": null,
                                                    "arguments": [
                                                        {
                                                            "argumentTypes": null,
                                                            "id": 1045,
                                                            "name": "_creator",
                                                            "nodeType": "Identifier",
                                                            "overloadedDeclarations": [],
                                                            "referencedDeclaration": 950,
                                                            "src": "7944:8:7",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_bytes32",
                                                                "typeString": "bytes32"
                                                            }
                                                        },
                                                        {
                                                            "argumentTypes": null,
                                                            "id": 1046,
                                                            "name": "_participant",
                                                            "nodeType": "Identifier",
                                                            "overloadedDeclarations": [],
                                                            "referencedDeclaration": 954,
                                                            "src": "7954:12:7",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_bytes32",
                                                                "typeString": "bytes32"
                                                            }
                                                        }
                                                    ],
                                                    "expression": {
                                                        "argumentTypes": [
                                                            {
                                                                "typeIdentifier": "t_bytes32",
                                                                "typeString": "bytes32"
                                                            },
                                                            {
                                                                "typeIdentifier": "t_bytes32",
                                                                "typeString": "bytes32"
                                                            }
                                                        ],
                                                        "id": 1044,
                                                        "name": "NewParticipant",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 620,
                                                        "src": "7929:14:7",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$",
                                                            "typeString": "function (bytes32,bytes32)"
                                                        }
                                                    },
                                                    "id": 1047,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "kind": "functionCall",
                                                    "lValueRequested": false,
                                                    "names": [],
                                                    "nodeType": "FunctionCall",
                                                    "src": "7929:38:7",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_tuple$__$",
                                                        "typeString": "tuple()"
                                                    }
                                                },
                                                "id": 1048,
                                                "nodeType": "EmitStatement",
                                                "src": "7924:43:7"
                                            }
                                        ]
                                    }
                                }
                            ]
                        },
                        "documentation": "This function adds a participant to a vault that belongs to its creator\r\n@param _creator vault creator's username, eg creator@email.com\r\n@param _id vault creator's unique id using which it can be reached, eg, its Google/APNS token\r\n@param _participant vault participant's username, eg participant@email.com\r\n@param _shard the private key shard of the participant\r",
                        "id": 1052,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [
                            {
                                "arguments": [
                                    {
                                        "argumentTypes": null,
                                        "id": 959,
                                        "name": "_creator",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 950,
                                        "src": "7274:8:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                        }
                                    },
                                    {
                                        "argumentTypes": null,
                                        "id": 960,
                                        "name": "_id",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 952,
                                        "src": "7284:3:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_calldata_ptr",
                                            "typeString": "string calldata"
                                        }
                                    }
                                ],
                                "id": 961,
                                "modifierName": {
                                    "argumentTypes": null,
                                    "id": 958,
                                    "name": "onlySigner",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 695,
                                    "src": "7263:10:7",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_modifier$_t_bytes32_$_t_string_memory_ptr_$",
                                        "typeString": "modifier (bytes32,string memory)"
                                    }
                                },
                                "nodeType": "ModifierInvocation",
                                "src": "7263:25:7"
                            }
                        ],
                        "name": "addParticipant",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 957,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 950,
                                    "name": "_creator",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 1052,
                                    "src": "7178:16:7",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes32",
                                        "typeString": "bytes32"
                                    },
                                    "typeName": {
                                        "id": 949,
                                        "name": "bytes32",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "7178:7:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 952,
                                    "name": "_id",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 1052,
                                    "src": "7196:19:7",
                                    "stateVariable": false,
                                    "storageLocation": "calldata",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_calldata_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 951,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "7196:6:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 954,
                                    "name": "_participant",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 1052,
                                    "src": "7217:20:7",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes32",
                                        "typeString": "bytes32"
                                    },
                                    "typeName": {
                                        "id": 953,
                                        "name": "bytes32",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "7217:7:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 956,
                                    "name": "_shard",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 1052,
                                    "src": "7239:22:7",
                                    "stateVariable": false,
                                    "storageLocation": "calldata",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_calldata_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 955,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "7239:6:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                }
                            ],
                            "src": "7177:85:7"
                        },
                        "returnParameters": {
                            "id": 962,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "7298:0:7"
                        },
                        "scope": 1949,
                        "src": "7154:832:7",
                        "stateMutability": "nonpayable",
                        "superFunction": 403,
                        "visibility": "external"
                    },
                    {
                        "body": {
                            "id": 1099,
                            "nodeType": "Block",
                            "src": "8478:246:7",
                            "statements": [
                                {
                                    "condition": {
                                        "argumentTypes": null,
                                        "commonType": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        },
                                        "id": 1071,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "leftExpression": {
                                            "argumentTypes": null,
                                            "baseExpression": {
                                                "argumentTypes": null,
                                                "baseExpression": {
                                                    "argumentTypes": null,
                                                    "id": 1065,
                                                    "name": "cosigners",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 593,
                                                    "src": "8492:9:7",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_bytes32_$_t_uint256_$_$",
                                                        "typeString": "mapping(bytes32 => mapping(bytes32 => uint256))"
                                                    }
                                                },
                                                "id": 1067,
                                                "indexExpression": {
                                                    "argumentTypes": null,
                                                    "id": 1066,
                                                    "name": "_creator",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 1054,
                                                    "src": "8502:8:7",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_bytes32",
                                                        "typeString": "bytes32"
                                                    }
                                                },
                                                "isConstant": false,
                                                "isLValue": true,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "nodeType": "IndexAccess",
                                                "src": "8492:19:7",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
                                                    "typeString": "mapping(bytes32 => uint256)"
                                                }
                                            },
                                            "id": 1069,
                                            "indexExpression": {
                                                "argumentTypes": null,
                                                "id": 1068,
                                                "name": "_participant",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 1058,
                                                "src": "8512:12:7",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes32",
                                                    "typeString": "bytes32"
                                                }
                                            },
                                            "isConstant": false,
                                            "isLValue": true,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "nodeType": "IndexAccess",
                                            "src": "8492:33:7",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                            }
                                        },
                                        "nodeType": "BinaryOperation",
                                        "operator": ">",
                                        "rightExpression": {
                                            "argumentTypes": null,
                                            "hexValue": "30",
                                            "id": 1070,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": true,
                                            "kind": "number",
                                            "lValueRequested": false,
                                            "nodeType": "Literal",
                                            "src": "8528:1:7",
                                            "subdenomination": null,
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_rational_0_by_1",
                                                "typeString": "int_const 0"
                                            },
                                            "value": "0"
                                        },
                                        "src": "8492:37:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "falseBody": null,
                                    "id": 1098,
                                    "nodeType": "IfStatement",
                                    "src": "8489:228:7",
                                    "trueBody": {
                                        "id": 1097,
                                        "nodeType": "Block",
                                        "src": "8530:187:7",
                                        "statements": [
                                            {
                                                "expression": {
                                                    "argumentTypes": null,
                                                    "id": 1081,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "nodeType": "UnaryOperation",
                                                    "operator": "delete",
                                                    "prefix": true,
                                                    "src": "8545:58:7",
                                                    "subExpression": {
                                                        "argumentTypes": null,
                                                        "baseExpression": {
                                                            "argumentTypes": null,
                                                            "baseExpression": {
                                                                "argumentTypes": null,
                                                                "id": 1072,
                                                                "name": "vaults",
                                                                "nodeType": "Identifier",
                                                                "overloadedDeclarations": [],
                                                                "referencedDeclaration": 587,
                                                                "src": "8552:6:7",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_mapping$_t_bytes32_$_t_array$_t_bytes32_$dyn_storage_$",
                                                                    "typeString": "mapping(bytes32 => bytes32[] storage ref)"
                                                                }
                                                            },
                                                            "id": 1074,
                                                            "indexExpression": {
                                                                "argumentTypes": null,
                                                                "id": 1073,
                                                                "name": "_creator",
                                                                "nodeType": "Identifier",
                                                                "overloadedDeclarations": [],
                                                                "referencedDeclaration": 1054,
                                                                "src": "8559:8:7",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_bytes32",
                                                                    "typeString": "bytes32"
                                                                }
                                                            },
                                                            "isConstant": false,
                                                            "isLValue": true,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "nodeType": "IndexAccess",
                                                            "src": "8552:16:7",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_array$_t_bytes32_$dyn_storage",
                                                                "typeString": "bytes32[] storage ref"
                                                            }
                                                        },
                                                        "id": 1080,
                                                        "indexExpression": {
                                                            "argumentTypes": null,
                                                            "baseExpression": {
                                                                "argumentTypes": null,
                                                                "baseExpression": {
                                                                    "argumentTypes": null,
                                                                    "id": 1075,
                                                                    "name": "cosigners",
                                                                    "nodeType": "Identifier",
                                                                    "overloadedDeclarations": [],
                                                                    "referencedDeclaration": 593,
                                                                    "src": "8569:9:7",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_bytes32_$_t_uint256_$_$",
                                                                        "typeString": "mapping(bytes32 => mapping(bytes32 => uint256))"
                                                                    }
                                                                },
                                                                "id": 1077,
                                                                "indexExpression": {
                                                                    "argumentTypes": null,
                                                                    "id": 1076,
                                                                    "name": "_creator",
                                                                    "nodeType": "Identifier",
                                                                    "overloadedDeclarations": [],
                                                                    "referencedDeclaration": 1054,
                                                                    "src": "8579:8:7",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_bytes32",
                                                                        "typeString": "bytes32"
                                                                    }
                                                                },
                                                                "isConstant": false,
                                                                "isLValue": true,
                                                                "isPure": false,
                                                                "lValueRequested": false,
                                                                "nodeType": "IndexAccess",
                                                                "src": "8569:19:7",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
                                                                    "typeString": "mapping(bytes32 => uint256)"
                                                                }
                                                            },
                                                            "id": 1079,
                                                            "indexExpression": {
                                                                "argumentTypes": null,
                                                                "id": 1078,
                                                                "name": "_participant",
                                                                "nodeType": "Identifier",
                                                                "overloadedDeclarations": [],
                                                                "referencedDeclaration": 1058,
                                                                "src": "8589:12:7",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_bytes32",
                                                                    "typeString": "bytes32"
                                                                }
                                                            },
                                                            "isConstant": false,
                                                            "isLValue": true,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "nodeType": "IndexAccess",
                                                            "src": "8569:33:7",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_uint256",
                                                                "typeString": "uint256"
                                                            }
                                                        },
                                                        "isConstant": false,
                                                        "isLValue": true,
                                                        "isPure": false,
                                                        "lValueRequested": true,
                                                        "nodeType": "IndexAccess",
                                                        "src": "8552:51:7",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bytes32",
                                                            "typeString": "bytes32"
                                                        }
                                                    },
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_tuple$__$",
                                                        "typeString": "tuple()"
                                                    }
                                                },
                                                "id": 1082,
                                                "nodeType": "ExpressionStatement",
                                                "src": "8545:58:7"
                                            },
                                            {
                                                "expression": {
                                                    "argumentTypes": null,
                                                    "id": 1088,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "nodeType": "UnaryOperation",
                                                    "operator": "delete",
                                                    "prefix": true,
                                                    "src": "8618:37:7",
                                                    "subExpression": {
                                                        "argumentTypes": null,
                                                        "baseExpression": {
                                                            "argumentTypes": null,
                                                            "baseExpression": {
                                                                "argumentTypes": null,
                                                                "id": 1083,
                                                                "name": "shards",
                                                                "nodeType": "Identifier",
                                                                "overloadedDeclarations": [],
                                                                "referencedDeclaration": 605,
                                                                "src": "8625:6:7",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_bytes32_$_t_string_storage_$_$",
                                                                    "typeString": "mapping(bytes32 => mapping(bytes32 => string storage ref))"
                                                                }
                                                            },
                                                            "id": 1085,
                                                            "indexExpression": {
                                                                "argumentTypes": null,
                                                                "id": 1084,
                                                                "name": "_creator",
                                                                "nodeType": "Identifier",
                                                                "overloadedDeclarations": [],
                                                                "referencedDeclaration": 1054,
                                                                "src": "8632:8:7",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_bytes32",
                                                                    "typeString": "bytes32"
                                                                }
                                                            },
                                                            "isConstant": false,
                                                            "isLValue": true,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "nodeType": "IndexAccess",
                                                            "src": "8625:16:7",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_mapping$_t_bytes32_$_t_string_storage_$",
                                                                "typeString": "mapping(bytes32 => string storage ref)"
                                                            }
                                                        },
                                                        "id": 1087,
                                                        "indexExpression": {
                                                            "argumentTypes": null,
                                                            "id": 1086,
                                                            "name": "_participant",
                                                            "nodeType": "Identifier",
                                                            "overloadedDeclarations": [],
                                                            "referencedDeclaration": 1058,
                                                            "src": "8642:12:7",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_bytes32",
                                                                "typeString": "bytes32"
                                                            }
                                                        },
                                                        "isConstant": false,
                                                        "isLValue": true,
                                                        "isPure": false,
                                                        "lValueRequested": true,
                                                        "nodeType": "IndexAccess",
                                                        "src": "8625:30:7",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_storage",
                                                            "typeString": "string storage ref"
                                                        }
                                                    },
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_tuple$__$",
                                                        "typeString": "tuple()"
                                                    }
                                                },
                                                "id": 1089,
                                                "nodeType": "ExpressionStatement",
                                                "src": "8618:37:7"
                                            },
                                            {
                                                "expression": {
                                                    "argumentTypes": null,
                                                    "id": 1095,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "nodeType": "UnaryOperation",
                                                    "operator": "delete",
                                                    "prefix": true,
                                                    "src": "8670:35:7",
                                                    "subExpression": {
                                                        "argumentTypes": null,
                                                        "baseExpression": {
                                                            "argumentTypes": null,
                                                            "baseExpression": {
                                                                "argumentTypes": null,
                                                                "id": 1090,
                                                                "name": "pins",
                                                                "nodeType": "Identifier",
                                                                "overloadedDeclarations": [],
                                                                "referencedDeclaration": 599,
                                                                "src": "8677:4:7",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_bytes32_$_t_string_storage_$_$",
                                                                    "typeString": "mapping(bytes32 => mapping(bytes32 => string storage ref))"
                                                                }
                                                            },
                                                            "id": 1092,
                                                            "indexExpression": {
                                                                "argumentTypes": null,
                                                                "id": 1091,
                                                                "name": "_creator",
                                                                "nodeType": "Identifier",
                                                                "overloadedDeclarations": [],
                                                                "referencedDeclaration": 1054,
                                                                "src": "8682:8:7",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_bytes32",
                                                                    "typeString": "bytes32"
                                                                }
                                                            },
                                                            "isConstant": false,
                                                            "isLValue": true,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "nodeType": "IndexAccess",
                                                            "src": "8677:14:7",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_mapping$_t_bytes32_$_t_string_storage_$",
                                                                "typeString": "mapping(bytes32 => string storage ref)"
                                                            }
                                                        },
                                                        "id": 1094,
                                                        "indexExpression": {
                                                            "argumentTypes": null,
                                                            "id": 1093,
                                                            "name": "_participant",
                                                            "nodeType": "Identifier",
                                                            "overloadedDeclarations": [],
                                                            "referencedDeclaration": 1058,
                                                            "src": "8692:12:7",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_bytes32",
                                                                "typeString": "bytes32"
                                                            }
                                                        },
                                                        "isConstant": false,
                                                        "isLValue": true,
                                                        "isPure": false,
                                                        "lValueRequested": true,
                                                        "nodeType": "IndexAccess",
                                                        "src": "8677:28:7",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_storage",
                                                            "typeString": "string storage ref"
                                                        }
                                                    },
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_tuple$__$",
                                                        "typeString": "tuple()"
                                                    }
                                                },
                                                "id": 1096,
                                                "nodeType": "ExpressionStatement",
                                                "src": "8670:35:7"
                                            }
                                        ]
                                    }
                                }
                            ]
                        },
                        "documentation": "This function removes a participant in a vault that belongs to its creator\r\n@param _creator vault creator's username, eg creator@email.com\r\n@param _id vault creator's unique id using which it can be reached, eg, its Google/APNS token\r\n@param _participant vault participant's username, eg participant@email.com\r",
                        "id": 1100,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [
                            {
                                "arguments": [
                                    {
                                        "argumentTypes": null,
                                        "id": 1061,
                                        "name": "_creator",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 1054,
                                        "src": "8454:8:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                        }
                                    },
                                    {
                                        "argumentTypes": null,
                                        "id": 1062,
                                        "name": "_id",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 1056,
                                        "src": "8464:3:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_calldata_ptr",
                                            "typeString": "string calldata"
                                        }
                                    }
                                ],
                                "id": 1063,
                                "modifierName": {
                                    "argumentTypes": null,
                                    "id": 1060,
                                    "name": "onlySigner",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 695,
                                    "src": "8443:10:7",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_modifier$_t_bytes32_$_t_string_memory_ptr_$",
                                        "typeString": "modifier (bytes32,string memory)"
                                    }
                                },
                                "nodeType": "ModifierInvocation",
                                "src": "8443:25:7"
                            }
                        ],
                        "name": "removeParticipant",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 1059,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 1054,
                                    "name": "_creator",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 1100,
                                    "src": "8382:16:7",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes32",
                                        "typeString": "bytes32"
                                    },
                                    "typeName": {
                                        "id": 1053,
                                        "name": "bytes32",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "8382:7:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 1056,
                                    "name": "_id",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 1100,
                                    "src": "8400:19:7",
                                    "stateVariable": false,
                                    "storageLocation": "calldata",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_calldata_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 1055,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "8400:6:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 1058,
                                    "name": "_participant",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 1100,
                                    "src": "8421:20:7",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes32",
                                        "typeString": "bytes32"
                                    },
                                    "typeName": {
                                        "id": 1057,
                                        "name": "bytes32",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "8421:7:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                }
                            ],
                            "src": "8381:61:7"
                        },
                        "returnParameters": {
                            "id": 1064,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "8478:0:7"
                        },
                        "scope": 1949,
                        "src": "8355:369:7",
                        "stateMutability": "nonpayable",
                        "superFunction": 412,
                        "visibility": "external"
                    },
                    {
                        "body": {
                            "id": 1149,
                            "nodeType": "Block",
                            "src": "9389:281:7",
                            "statements": [
                                {
                                    "expression": {
                                        "argumentTypes": null,
                                        "arguments": [
                                            {
                                                "argumentTypes": null,
                                                "commonType": {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                },
                                                "id": 1123,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "leftExpression": {
                                                    "argumentTypes": null,
                                                    "expression": {
                                                        "argumentTypes": null,
                                                        "baseExpression": {
                                                            "argumentTypes": null,
                                                            "id": 1118,
                                                            "name": "vaults",
                                                            "nodeType": "Identifier",
                                                            "overloadedDeclarations": [],
                                                            "referencedDeclaration": 587,
                                                            "src": "9408:6:7",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_mapping$_t_bytes32_$_t_array$_t_bytes32_$dyn_storage_$",
                                                                "typeString": "mapping(bytes32 => bytes32[] storage ref)"
                                                            }
                                                        },
                                                        "id": 1120,
                                                        "indexExpression": {
                                                            "argumentTypes": null,
                                                            "id": 1119,
                                                            "name": "_creator",
                                                            "nodeType": "Identifier",
                                                            "overloadedDeclarations": [],
                                                            "referencedDeclaration": 1102,
                                                            "src": "9415:8:7",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_bytes32",
                                                                "typeString": "bytes32"
                                                            }
                                                        },
                                                        "isConstant": false,
                                                        "isLValue": true,
                                                        "isPure": false,
                                                        "lValueRequested": false,
                                                        "nodeType": "IndexAccess",
                                                        "src": "9408:16:7",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_array$_t_bytes32_$dyn_storage",
                                                            "typeString": "bytes32[] storage ref"
                                                        }
                                                    },
                                                    "id": 1121,
                                                    "isConstant": false,
                                                    "isLValue": true,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "memberName": "length",
                                                    "nodeType": "MemberAccess",
                                                    "referencedDeclaration": null,
                                                    "src": "9408:23:7",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_uint256",
                                                        "typeString": "uint256"
                                                    }
                                                },
                                                "nodeType": "BinaryOperation",
                                                "operator": ">",
                                                "rightExpression": {
                                                    "argumentTypes": null,
                                                    "hexValue": "30",
                                                    "id": 1122,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "kind": "number",
                                                    "lValueRequested": false,
                                                    "nodeType": "Literal",
                                                    "src": "9432:1:7",
                                                    "subdenomination": null,
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_rational_0_by_1",
                                                        "typeString": "int_const 0"
                                                    },
                                                    "value": "0"
                                                },
                                                "src": "9408:25:7",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bool",
                                                    "typeString": "bool"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bool",
                                                    "typeString": "bool"
                                                }
                                            ],
                                            "id": 1117,
                                            "name": "require",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [
                                                3959,
                                                3960
                                            ],
                                            "referencedDeclaration": 3959,
                                            "src": "9400:7:7",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
                                                "typeString": "function (bool) pure"
                                            }
                                        },
                                        "id": 1124,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "9400:34:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 1125,
                                    "nodeType": "ExpressionStatement",
                                    "src": "9400:34:7"
                                },
                                {
                                    "condition": {
                                        "argumentTypes": null,
                                        "id": 1126,
                                        "name": "_confirmation",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 1110,
                                        "src": "9448:13:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "falseBody": {
                                        "eventCall": {
                                            "argumentTypes": null,
                                            "arguments": [
                                                {
                                                    "argumentTypes": null,
                                                    "id": 1143,
                                                    "name": "_creator",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 1102,
                                                    "src": "9631:8:7",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_bytes32",
                                                        "typeString": "bytes32"
                                                    }
                                                },
                                                {
                                                    "argumentTypes": null,
                                                    "id": 1144,
                                                    "name": "_participant",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 1106,
                                                    "src": "9641:12:7",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_bytes32",
                                                        "typeString": "bytes32"
                                                    }
                                                },
                                                {
                                                    "argumentTypes": null,
                                                    "hexValue": "66616c7365",
                                                    "id": 1145,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "kind": "bool",
                                                    "lValueRequested": false,
                                                    "nodeType": "Literal",
                                                    "src": "9655:5:7",
                                                    "subdenomination": null,
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_bool",
                                                        "typeString": "bool"
                                                    },
                                                    "value": "false"
                                                }
                                            ],
                                            "expression": {
                                                "argumentTypes": [
                                                    {
                                                        "typeIdentifier": "t_bytes32",
                                                        "typeString": "bytes32"
                                                    },
                                                    {
                                                        "typeIdentifier": "t_bytes32",
                                                        "typeString": "bytes32"
                                                    },
                                                    {
                                                        "typeIdentifier": "t_bool",
                                                        "typeString": "bool"
                                                    }
                                                ],
                                                "id": 1142,
                                                "name": "SignResponse",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 644,
                                                "src": "9618:12:7",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_bytes32_$_t_bool_$returns$__$",
                                                    "typeString": "function (bytes32,bytes32,bool)"
                                                }
                                            },
                                            "id": 1146,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "kind": "functionCall",
                                            "lValueRequested": false,
                                            "names": [],
                                            "nodeType": "FunctionCall",
                                            "src": "9618:43:7",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_tuple$__$",
                                                "typeString": "tuple()"
                                            }
                                        },
                                        "id": 1147,
                                        "nodeType": "EmitStatement",
                                        "src": "9613:48:7"
                                    },
                                    "id": 1148,
                                    "nodeType": "IfStatement",
                                    "src": "9445:216:7",
                                    "trueBody": {
                                        "id": 1141,
                                        "nodeType": "Block",
                                        "src": "9462:124:7",
                                        "statements": [
                                            {
                                                "expression": {
                                                    "argumentTypes": null,
                                                    "id": 1133,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "leftHandSide": {
                                                        "argumentTypes": null,
                                                        "baseExpression": {
                                                            "argumentTypes": null,
                                                            "baseExpression": {
                                                                "argumentTypes": null,
                                                                "id": 1127,
                                                                "name": "pins",
                                                                "nodeType": "Identifier",
                                                                "overloadedDeclarations": [],
                                                                "referencedDeclaration": 599,
                                                                "src": "9477:4:7",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_bytes32_$_t_string_storage_$_$",
                                                                    "typeString": "mapping(bytes32 => mapping(bytes32 => string storage ref))"
                                                                }
                                                            },
                                                            "id": 1130,
                                                            "indexExpression": {
                                                                "argumentTypes": null,
                                                                "id": 1128,
                                                                "name": "_creator",
                                                                "nodeType": "Identifier",
                                                                "overloadedDeclarations": [],
                                                                "referencedDeclaration": 1102,
                                                                "src": "9482:8:7",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_bytes32",
                                                                    "typeString": "bytes32"
                                                                }
                                                            },
                                                            "isConstant": false,
                                                            "isLValue": true,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "nodeType": "IndexAccess",
                                                            "src": "9477:14:7",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_mapping$_t_bytes32_$_t_string_storage_$",
                                                                "typeString": "mapping(bytes32 => string storage ref)"
                                                            }
                                                        },
                                                        "id": 1131,
                                                        "indexExpression": {
                                                            "argumentTypes": null,
                                                            "id": 1129,
                                                            "name": "_participant",
                                                            "nodeType": "Identifier",
                                                            "overloadedDeclarations": [],
                                                            "referencedDeclaration": 1106,
                                                            "src": "9492:12:7",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_bytes32",
                                                                "typeString": "bytes32"
                                                            }
                                                        },
                                                        "isConstant": false,
                                                        "isLValue": true,
                                                        "isPure": false,
                                                        "lValueRequested": true,
                                                        "nodeType": "IndexAccess",
                                                        "src": "9477:28:7",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_storage",
                                                            "typeString": "string storage ref"
                                                        }
                                                    },
                                                    "nodeType": "Assignment",
                                                    "operator": "=",
                                                    "rightHandSide": {
                                                        "argumentTypes": null,
                                                        "id": 1132,
                                                        "name": "_pin",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 1108,
                                                        "src": "9508:4:7",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_string_calldata_ptr",
                                                            "typeString": "string calldata"
                                                        }
                                                    },
                                                    "src": "9477:35:7",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_string_storage",
                                                        "typeString": "string storage ref"
                                                    }
                                                },
                                                "id": 1134,
                                                "nodeType": "ExpressionStatement",
                                                "src": "9477:35:7"
                                            },
                                            {
                                                "eventCall": {
                                                    "argumentTypes": null,
                                                    "arguments": [
                                                        {
                                                            "argumentTypes": null,
                                                            "id": 1136,
                                                            "name": "_creator",
                                                            "nodeType": "Identifier",
                                                            "overloadedDeclarations": [],
                                                            "referencedDeclaration": 1102,
                                                            "src": "9545:8:7",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_bytes32",
                                                                "typeString": "bytes32"
                                                            }
                                                        },
                                                        {
                                                            "argumentTypes": null,
                                                            "id": 1137,
                                                            "name": "_participant",
                                                            "nodeType": "Identifier",
                                                            "overloadedDeclarations": [],
                                                            "referencedDeclaration": 1106,
                                                            "src": "9555:12:7",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_bytes32",
                                                                "typeString": "bytes32"
                                                            }
                                                        },
                                                        {
                                                            "argumentTypes": null,
                                                            "hexValue": "74727565",
                                                            "id": 1138,
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": true,
                                                            "kind": "bool",
                                                            "lValueRequested": false,
                                                            "nodeType": "Literal",
                                                            "src": "9569:4:7",
                                                            "subdenomination": null,
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_bool",
                                                                "typeString": "bool"
                                                            },
                                                            "value": "true"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "argumentTypes": [
                                                            {
                                                                "typeIdentifier": "t_bytes32",
                                                                "typeString": "bytes32"
                                                            },
                                                            {
                                                                "typeIdentifier": "t_bytes32",
                                                                "typeString": "bytes32"
                                                            },
                                                            {
                                                                "typeIdentifier": "t_bool",
                                                                "typeString": "bool"
                                                            }
                                                        ],
                                                        "id": 1135,
                                                        "name": "SignResponse",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 644,
                                                        "src": "9532:12:7",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_bytes32_$_t_bool_$returns$__$",
                                                            "typeString": "function (bytes32,bytes32,bool)"
                                                        }
                                                    },
                                                    "id": 1139,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "kind": "functionCall",
                                                    "lValueRequested": false,
                                                    "names": [],
                                                    "nodeType": "FunctionCall",
                                                    "src": "9532:42:7",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_tuple$__$",
                                                        "typeString": "tuple()"
                                                    }
                                                },
                                                "id": 1140,
                                                "nodeType": "EmitStatement",
                                                "src": "9527:47:7"
                                            }
                                        ]
                                    }
                                }
                            ]
                        },
                        "documentation": "This function confirms a participant in the vault when the participant sends its private key shard and PIN\r\n@param _creator the vault's creator (eg, creator@email.com)\r\n@param _id vault creator's unique id using which it can be reached, eg, its Google/APNS token\r\n@param _participant the vault's participant (eg, participant@email.com)\r\n@param _pin the PIN number of the participant\r\n@param _confirmation true or false\r",
                        "id": 1150,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [
                            {
                                "arguments": [
                                    {
                                        "argumentTypes": null,
                                        "id": 1113,
                                        "name": "_participant",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 1106,
                                        "src": "9361:12:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                        }
                                    },
                                    {
                                        "argumentTypes": null,
                                        "id": 1114,
                                        "name": "_id",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 1104,
                                        "src": "9375:3:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_calldata_ptr",
                                            "typeString": "string calldata"
                                        }
                                    }
                                ],
                                "id": 1115,
                                "modifierName": {
                                    "argumentTypes": null,
                                    "id": 1112,
                                    "name": "onlySigner",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 695,
                                    "src": "9350:10:7",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_modifier$_t_bytes32_$_t_string_memory_ptr_$",
                                        "typeString": "modifier (bytes32,string memory)"
                                    }
                                },
                                "nodeType": "ModifierInvocation",
                                "src": "9350:29:7"
                            }
                        ],
                        "name": "confirmParticipant",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 1111,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 1102,
                                    "name": "_creator",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 1150,
                                    "src": "9247:16:7",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes32",
                                        "typeString": "bytes32"
                                    },
                                    "typeName": {
                                        "id": 1101,
                                        "name": "bytes32",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "9247:7:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 1104,
                                    "name": "_id",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 1150,
                                    "src": "9265:19:7",
                                    "stateVariable": false,
                                    "storageLocation": "calldata",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_calldata_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 1103,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "9265:6:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 1106,
                                    "name": "_participant",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 1150,
                                    "src": "9286:20:7",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes32",
                                        "typeString": "bytes32"
                                    },
                                    "typeName": {
                                        "id": 1105,
                                        "name": "bytes32",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "9286:7:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 1108,
                                    "name": "_pin",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 1150,
                                    "src": "9308:20:7",
                                    "stateVariable": false,
                                    "storageLocation": "calldata",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_calldata_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 1107,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "9308:6:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 1110,
                                    "name": "_confirmation",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 1150,
                                    "src": "9330:18:7",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 1109,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "9330:4:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                }
                            ],
                            "src": "9246:103:7"
                        },
                        "returnParameters": {
                            "id": 1116,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "9389:0:7"
                        },
                        "scope": 1949,
                        "src": "9219:451:7",
                        "stateMutability": "nonpayable",
                        "superFunction": 425,
                        "visibility": "external"
                    },
                    {
                        "body": {
                            "id": 1169,
                            "nodeType": "Block",
                            "src": "10148:54:7",
                            "statements": [
                                {
                                    "expression": {
                                        "argumentTypes": null,
                                        "id": 1167,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "leftHandSide": {
                                            "argumentTypes": null,
                                            "baseExpression": {
                                                "argumentTypes": null,
                                                "id": 1163,
                                                "name": "quorum",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 609,
                                                "src": "10159:6:7",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
                                                    "typeString": "mapping(bytes32 => uint256)"
                                                }
                                            },
                                            "id": 1165,
                                            "indexExpression": {
                                                "argumentTypes": null,
                                                "id": 1164,
                                                "name": "_creator",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 1152,
                                                "src": "10166:8:7",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes32",
                                                    "typeString": "bytes32"
                                                }
                                            },
                                            "isConstant": false,
                                            "isLValue": true,
                                            "isPure": false,
                                            "lValueRequested": true,
                                            "nodeType": "IndexAccess",
                                            "src": "10159:16:7",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                            }
                                        },
                                        "nodeType": "Assignment",
                                        "operator": "=",
                                        "rightHandSide": {
                                            "argumentTypes": null,
                                            "id": 1166,
                                            "name": "_minParticipants",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 1156,
                                            "src": "10178:16:7",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                            }
                                        },
                                        "src": "10159:35:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "id": 1168,
                                    "nodeType": "ExpressionStatement",
                                    "src": "10159:35:7"
                                }
                            ]
                        },
                        "documentation": "This function defines the number of participants required to co-sign a transaction\r\n@param _creator the vault's creator (eg, creator@email.com)\r\n@param _id vault creator's unique id using which it can be reached, eg, its Google/APNS token\r\n@param _minParticipants the minimum number of co-signers\r",
                        "id": 1170,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [
                            {
                                "arguments": [
                                    {
                                        "argumentTypes": null,
                                        "id": 1159,
                                        "name": "_creator",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 1152,
                                        "src": "10124:8:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                        }
                                    },
                                    {
                                        "argumentTypes": null,
                                        "id": 1160,
                                        "name": "_id",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 1154,
                                        "src": "10134:3:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_calldata_ptr",
                                            "typeString": "string calldata"
                                        }
                                    }
                                ],
                                "id": 1161,
                                "modifierName": {
                                    "argumentTypes": null,
                                    "id": 1158,
                                    "name": "onlySigner",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 695,
                                    "src": "10113:10:7",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_modifier$_t_bytes32_$_t_string_memory_ptr_$",
                                        "typeString": "modifier (bytes32,string memory)"
                                    }
                                },
                                "nodeType": "ModifierInvocation",
                                "src": "10113:25:7"
                            }
                        ],
                        "name": "defineQuorum",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 1157,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 1152,
                                    "name": "_creator",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 1170,
                                    "src": "10048:16:7",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes32",
                                        "typeString": "bytes32"
                                    },
                                    "typeName": {
                                        "id": 1151,
                                        "name": "bytes32",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "10048:7:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 1154,
                                    "name": "_id",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 1170,
                                    "src": "10066:19:7",
                                    "stateVariable": false,
                                    "storageLocation": "calldata",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_calldata_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 1153,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "10066:6:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 1156,
                                    "name": "_minParticipants",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 1170,
                                    "src": "10087:24:7",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 1155,
                                        "name": "uint256",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "10087:7:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                }
                            ],
                            "src": "10047:65:7"
                        },
                        "returnParameters": {
                            "id": 1162,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "10148:0:7"
                        },
                        "scope": 1949,
                        "src": "10026:176:7",
                        "stateMutability": "nonpayable",
                        "superFunction": 434,
                        "visibility": "external"
                    },
                    {
                        "body": {
                            "id": 1187,
                            "nodeType": "Block",
                            "src": "10608:42:7",
                            "statements": [
                                {
                                    "expression": {
                                        "argumentTypes": null,
                                        "baseExpression": {
                                            "argumentTypes": null,
                                            "id": 1183,
                                            "name": "quorum",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 609,
                                            "src": "10626:6:7",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
                                                "typeString": "mapping(bytes32 => uint256)"
                                            }
                                        },
                                        "id": 1185,
                                        "indexExpression": {
                                            "argumentTypes": null,
                                            "id": 1184,
                                            "name": "_creator",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 1172,
                                            "src": "10633:8:7",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_bytes32",
                                                "typeString": "bytes32"
                                            }
                                        },
                                        "isConstant": false,
                                        "isLValue": true,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "nodeType": "IndexAccess",
                                        "src": "10626:16:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "functionReturnParameters": 1182,
                                    "id": 1186,
                                    "nodeType": "Return",
                                    "src": "10619:23:7"
                                }
                            ]
                        },
                        "documentation": "This function retrieves the number of participants required to co-sign a transaction\r\n@param _creator the vault's creator (eg, creator@email.com)\r\n@param _id vault creator's unique id using which it can be reached, eg, its Google/APNS token\r",
                        "id": 1188,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [
                            {
                                "arguments": [
                                    {
                                        "argumentTypes": null,
                                        "id": 1177,
                                        "name": "_creator",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 1172,
                                        "src": "10563:8:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                        }
                                    },
                                    {
                                        "argumentTypes": null,
                                        "id": 1178,
                                        "name": "_id",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 1174,
                                        "src": "10573:3:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_calldata_ptr",
                                            "typeString": "string calldata"
                                        }
                                    }
                                ],
                                "id": 1179,
                                "modifierName": {
                                    "argumentTypes": null,
                                    "id": 1176,
                                    "name": "onlySigner",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 695,
                                    "src": "10552:10:7",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_modifier$_t_bytes32_$_t_string_memory_ptr_$",
                                        "typeString": "modifier (bytes32,string memory)"
                                    }
                                },
                                "nodeType": "ModifierInvocation",
                                "src": "10552:25:7"
                            }
                        ],
                        "name": "getQuorum",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 1175,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 1172,
                                    "name": "_creator",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 1188,
                                    "src": "10513:16:7",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes32",
                                        "typeString": "bytes32"
                                    },
                                    "typeName": {
                                        "id": 1171,
                                        "name": "bytes32",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "10513:7:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 1174,
                                    "name": "_id",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 1188,
                                    "src": "10531:19:7",
                                    "stateVariable": false,
                                    "storageLocation": "calldata",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_calldata_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 1173,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "10531:6:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                }
                            ],
                            "src": "10512:39:7"
                        },
                        "returnParameters": {
                            "id": 1182,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 1181,
                                    "name": "",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 1188,
                                    "src": "10600:7:7",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 1180,
                                        "name": "uint256",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "10600:7:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                }
                            ],
                            "src": "10599:9:7"
                        },
                        "scope": 1949,
                        "src": "10494:156:7",
                        "stateMutability": "view",
                        "superFunction": 443,
                        "visibility": "external"
                    },
                    {
                        "body": {
                            "id": 1264,
                            "nodeType": "Block",
                            "src": "11096:464:7",
                            "statements": [
                                {
                                    "assignments": [
                                        1202
                                    ],
                                    "declarations": [
                                        {
                                            "constant": false,
                                            "id": 1202,
                                            "name": "cs",
                                            "nodeType": "VariableDeclaration",
                                            "scope": 1264,
                                            "src": "11107:19:7",
                                            "stateVariable": false,
                                            "storageLocation": "memory",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
                                                "typeString": "bytes32[]"
                                            },
                                            "typeName": {
                                                "baseType": {
                                                    "id": 1200,
                                                    "name": "bytes32",
                                                    "nodeType": "ElementaryTypeName",
                                                    "src": "11107:7:7",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_bytes32",
                                                        "typeString": "bytes32"
                                                    }
                                                },
                                                "id": 1201,
                                                "length": null,
                                                "nodeType": "ArrayTypeName",
                                                "src": "11107:9:7",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr",
                                                    "typeString": "bytes32[]"
                                                }
                                            },
                                            "value": null,
                                            "visibility": "internal"
                                        }
                                    ],
                                    "id": 1211,
                                    "initialValue": {
                                        "argumentTypes": null,
                                        "arguments": [
                                            {
                                                "argumentTypes": null,
                                                "expression": {
                                                    "argumentTypes": null,
                                                    "baseExpression": {
                                                        "argumentTypes": null,
                                                        "id": 1206,
                                                        "name": "vaults",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 587,
                                                        "src": "11143:6:7",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_mapping$_t_bytes32_$_t_array$_t_bytes32_$dyn_storage_$",
                                                            "typeString": "mapping(bytes32 => bytes32[] storage ref)"
                                                        }
                                                    },
                                                    "id": 1208,
                                                    "indexExpression": {
                                                        "argumentTypes": null,
                                                        "id": 1207,
                                                        "name": "_creator",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 1190,
                                                        "src": "11150:8:7",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bytes32",
                                                            "typeString": "bytes32"
                                                        }
                                                    },
                                                    "isConstant": false,
                                                    "isLValue": true,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "nodeType": "IndexAccess",
                                                    "src": "11143:16:7",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_array$_t_bytes32_$dyn_storage",
                                                        "typeString": "bytes32[] storage ref"
                                                    }
                                                },
                                                "id": 1209,
                                                "isConstant": false,
                                                "isLValue": true,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "memberName": "length",
                                                "nodeType": "MemberAccess",
                                                "referencedDeclaration": null,
                                                "src": "11143:23:7",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                }
                                            ],
                                            "id": 1205,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": true,
                                            "lValueRequested": false,
                                            "nodeType": "NewExpression",
                                            "src": "11129:13:7",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_bytes32_$dyn_memory_$",
                                                "typeString": "function (uint256) pure returns (bytes32[] memory)"
                                            },
                                            "typeName": {
                                                "baseType": {
                                                    "id": 1203,
                                                    "name": "bytes32",
                                                    "nodeType": "ElementaryTypeName",
                                                    "src": "11133:7:7",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_bytes32",
                                                        "typeString": "bytes32"
                                                    }
                                                },
                                                "id": 1204,
                                                "length": null,
                                                "nodeType": "ArrayTypeName",
                                                "src": "11133:9:7",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr",
                                                    "typeString": "bytes32[]"
                                                }
                                            }
                                        },
                                        "id": 1210,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "11129:38:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_array$_t_bytes32_$dyn_memory",
                                            "typeString": "bytes32[] memory"
                                        }
                                    },
                                    "nodeType": "VariableDeclarationStatement",
                                    "src": "11107:60:7"
                                },
                                {
                                    "expression": {
                                        "argumentTypes": null,
                                        "id": 1223,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "leftHandSide": {
                                            "argumentTypes": null,
                                            "id": 1212,
                                            "name": "txid",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 573,
                                            "src": "11178:4:7",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                            }
                                        },
                                        "nodeType": "Assignment",
                                        "operator": "=",
                                        "rightHandSide": {
                                            "argumentTypes": null,
                                            "condition": {
                                                "argumentTypes": null,
                                                "commonType": {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                },
                                                "id": 1216,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "leftExpression": {
                                                    "argumentTypes": null,
                                                    "expression": {
                                                        "argumentTypes": null,
                                                        "id": 1213,
                                                        "name": "block",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 3946,
                                                        "src": "11185:5:7",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_block",
                                                            "typeString": "block"
                                                        }
                                                    },
                                                    "id": 1214,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "memberName": "timestamp",
                                                    "nodeType": "MemberAccess",
                                                    "referencedDeclaration": null,
                                                    "src": "11185:15:7",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_uint256",
                                                        "typeString": "uint256"
                                                    }
                                                },
                                                "nodeType": "BinaryOperation",
                                                "operator": "==",
                                                "rightExpression": {
                                                    "argumentTypes": null,
                                                    "id": 1215,
                                                    "name": "txid",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 573,
                                                    "src": "11204:4:7",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_uint256",
                                                        "typeString": "uint256"
                                                    }
                                                },
                                                "src": "11185:23:7",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bool",
                                                    "typeString": "bool"
                                                }
                                            },
                                            "falseExpression": {
                                                "argumentTypes": null,
                                                "expression": {
                                                    "argumentTypes": null,
                                                    "id": 1220,
                                                    "name": "block",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 3946,
                                                    "src": "11222:5:7",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_magic_block",
                                                        "typeString": "block"
                                                    }
                                                },
                                                "id": 1221,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "memberName": "timestamp",
                                                "nodeType": "MemberAccess",
                                                "referencedDeclaration": null,
                                                "src": "11222:15:7",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                }
                                            },
                                            "id": 1222,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "nodeType": "Conditional",
                                            "src": "11185:52:7",
                                            "trueExpression": {
                                                "argumentTypes": null,
                                                "commonType": {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                },
                                                "id": 1219,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "leftExpression": {
                                                    "argumentTypes": null,
                                                    "id": 1217,
                                                    "name": "txid",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 573,
                                                    "src": "11211:4:7",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_uint256",
                                                        "typeString": "uint256"
                                                    }
                                                },
                                                "nodeType": "BinaryOperation",
                                                "operator": "+",
                                                "rightExpression": {
                                                    "argumentTypes": null,
                                                    "hexValue": "31",
                                                    "id": 1218,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "kind": "number",
                                                    "lValueRequested": false,
                                                    "nodeType": "Literal",
                                                    "src": "11218:1:7",
                                                    "subdenomination": null,
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_rational_1_by_1",
                                                        "typeString": "int_const 1"
                                                    },
                                                    "value": "1"
                                                },
                                                "src": "11211:8:7",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                }
                                            },
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                            }
                                        },
                                        "src": "11178:59:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "id": 1224,
                                    "nodeType": "ExpressionStatement",
                                    "src": "11178:59:7"
                                },
                                {
                                    "assignments": [
                                        1226
                                    ],
                                    "declarations": [
                                        {
                                            "constant": false,
                                            "id": 1226,
                                            "name": "currentTx",
                                            "nodeType": "VariableDeclaration",
                                            "scope": 1264,
                                            "src": "11248:28:7",
                                            "stateVariable": false,
                                            "storageLocation": "memory",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_struct$_transaction_$367_memory_ptr",
                                                "typeString": "struct IVault.transaction"
                                            },
                                            "typeName": {
                                                "contractScope": null,
                                                "id": 1225,
                                                "name": "transaction",
                                                "nodeType": "UserDefinedTypeName",
                                                "referencedDeclaration": 367,
                                                "src": "11248:11:7",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_struct$_transaction_$367_storage_ptr",
                                                    "typeString": "struct IVault.transaction"
                                                }
                                            },
                                            "value": null,
                                            "visibility": "internal"
                                        }
                                    ],
                                    "id": 1231,
                                    "initialValue": {
                                        "argumentTypes": null,
                                        "arguments": [
                                            {
                                                "argumentTypes": null,
                                                "id": 1228,
                                                "name": "txid",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 573,
                                                "src": "11317:4:7",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                }
                                            },
                                            {
                                                "argumentTypes": null,
                                                "id": 1229,
                                                "name": "cs",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 1202,
                                                "src": "11348:2:7",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
                                                    "typeString": "bytes32[] memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                },
                                                {
                                                    "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
                                                    "typeString": "bytes32[] memory"
                                                }
                                            ],
                                            "id": 1227,
                                            "name": "transaction",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 367,
                                            "src": "11279:11:7",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_type$_t_struct$_transaction_$367_storage_ptr_$",
                                                "typeString": "type(struct IVault.transaction storage pointer)"
                                            }
                                        },
                                        "id": 1230,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "structConstructorCall",
                                        "lValueRequested": false,
                                        "names": [
                                            "datetime",
                                            "cosigners"
                                        ],
                                        "nodeType": "FunctionCall",
                                        "src": "11279:83:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_struct$_transaction_$367_memory",
                                            "typeString": "struct IVault.transaction memory"
                                        }
                                    },
                                    "nodeType": "VariableDeclarationStatement",
                                    "src": "11248:114:7"
                                },
                                {
                                    "expression": {
                                        "argumentTypes": null,
                                        "arguments": [
                                            {
                                                "argumentTypes": null,
                                                "id": 1236,
                                                "name": "currentTx",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 1226,
                                                "src": "11401:9:7",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_struct$_transaction_$367_memory_ptr",
                                                    "typeString": "struct IVault.transaction memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_struct$_transaction_$367_memory_ptr",
                                                    "typeString": "struct IVault.transaction memory"
                                                }
                                            ],
                                            "expression": {
                                                "argumentTypes": null,
                                                "baseExpression": {
                                                    "argumentTypes": null,
                                                    "id": 1232,
                                                    "name": "transactions",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 614,
                                                    "src": "11373:12:7",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_mapping$_t_bytes32_$_t_array$_t_struct$_transaction_$367_storage_$dyn_storage_$",
                                                        "typeString": "mapping(bytes32 => struct IVault.transaction storage ref[] storage ref)"
                                                    }
                                                },
                                                "id": 1234,
                                                "indexExpression": {
                                                    "argumentTypes": null,
                                                    "id": 1233,
                                                    "name": "_creator",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 1190,
                                                    "src": "11386:8:7",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_bytes32",
                                                        "typeString": "bytes32"
                                                    }
                                                },
                                                "isConstant": false,
                                                "isLValue": true,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "nodeType": "IndexAccess",
                                                "src": "11373:22:7",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_array$_t_struct$_transaction_$367_storage_$dyn_storage",
                                                    "typeString": "struct IVault.transaction storage ref[] storage ref"
                                                }
                                            },
                                            "id": 1235,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "memberName": "push",
                                            "nodeType": "MemberAccess",
                                            "referencedDeclaration": null,
                                            "src": "11373:27:7",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_arraypush_nonpayable$_t_struct$_transaction_$367_storage_$returns$_t_uint256_$",
                                                "typeString": "function (struct IVault.transaction storage ref) returns (uint256)"
                                            }
                                        },
                                        "id": 1237,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "11373:38:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "id": 1238,
                                    "nodeType": "ExpressionStatement",
                                    "src": "11373:38:7"
                                },
                                {
                                    "body": {
                                        "id": 1262,
                                        "nodeType": "Block",
                                        "src": "11470:83:7",
                                        "statements": [
                                            {
                                                "eventCall": {
                                                    "argumentTypes": null,
                                                    "arguments": [
                                                        {
                                                            "argumentTypes": null,
                                                            "id": 1253,
                                                            "name": "_creator",
                                                            "nodeType": "Identifier",
                                                            "overloadedDeclarations": [],
                                                            "referencedDeclaration": 1190,
                                                            "src": "11505:8:7",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_bytes32",
                                                                "typeString": "bytes32"
                                                            }
                                                        },
                                                        {
                                                            "argumentTypes": null,
                                                            "baseExpression": {
                                                                "argumentTypes": null,
                                                                "baseExpression": {
                                                                    "argumentTypes": null,
                                                                    "id": 1254,
                                                                    "name": "vaults",
                                                                    "nodeType": "Identifier",
                                                                    "overloadedDeclarations": [],
                                                                    "referencedDeclaration": 587,
                                                                    "src": "11515:6:7",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_mapping$_t_bytes32_$_t_array$_t_bytes32_$dyn_storage_$",
                                                                        "typeString": "mapping(bytes32 => bytes32[] storage ref)"
                                                                    }
                                                                },
                                                                "id": 1256,
                                                                "indexExpression": {
                                                                    "argumentTypes": null,
                                                                    "id": 1255,
                                                                    "name": "_creator",
                                                                    "nodeType": "Identifier",
                                                                    "overloadedDeclarations": [],
                                                                    "referencedDeclaration": 1190,
                                                                    "src": "11522:8:7",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_bytes32",
                                                                        "typeString": "bytes32"
                                                                    }
                                                                },
                                                                "isConstant": false,
                                                                "isLValue": true,
                                                                "isPure": false,
                                                                "lValueRequested": false,
                                                                "nodeType": "IndexAccess",
                                                                "src": "11515:16:7",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_array$_t_bytes32_$dyn_storage",
                                                                    "typeString": "bytes32[] storage ref"
                                                                }
                                                            },
                                                            "id": 1258,
                                                            "indexExpression": {
                                                                "argumentTypes": null,
                                                                "id": 1257,
                                                                "name": "i",
                                                                "nodeType": "Identifier",
                                                                "overloadedDeclarations": [],
                                                                "referencedDeclaration": 1240,
                                                                "src": "11532:1:7",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_uint256",
                                                                    "typeString": "uint256"
                                                                }
                                                            },
                                                            "isConstant": false,
                                                            "isLValue": true,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "nodeType": "IndexAccess",
                                                            "src": "11515:19:7",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_bytes32",
                                                                "typeString": "bytes32"
                                                            }
                                                        },
                                                        {
                                                            "argumentTypes": null,
                                                            "id": 1259,
                                                            "name": "txid",
                                                            "nodeType": "Identifier",
                                                            "overloadedDeclarations": [],
                                                            "referencedDeclaration": 573,
                                                            "src": "11536:4:7",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_uint256",
                                                                "typeString": "uint256"
                                                            }
                                                        }
                                                    ],
                                                    "expression": {
                                                        "argumentTypes": [
                                                            {
                                                                "typeIdentifier": "t_bytes32",
                                                                "typeString": "bytes32"
                                                            },
                                                            {
                                                                "typeIdentifier": "t_bytes32",
                                                                "typeString": "bytes32"
                                                            },
                                                            {
                                                                "typeIdentifier": "t_uint256",
                                                                "typeString": "uint256"
                                                            }
                                                        ],
                                                        "id": 1252,
                                                        "name": "NewTransaction",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 628,
                                                        "src": "11490:14:7",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_bytes32_$_t_uint256_$returns$__$",
                                                            "typeString": "function (bytes32,bytes32,uint256)"
                                                        }
                                                    },
                                                    "id": 1260,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "kind": "functionCall",
                                                    "lValueRequested": false,
                                                    "names": [],
                                                    "nodeType": "FunctionCall",
                                                    "src": "11490:51:7",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_tuple$__$",
                                                        "typeString": "tuple()"
                                                    }
                                                },
                                                "id": 1261,
                                                "nodeType": "EmitStatement",
                                                "src": "11485:56:7"
                                            }
                                        ]
                                    },
                                    "condition": {
                                        "argumentTypes": null,
                                        "commonType": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        },
                                        "id": 1248,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "leftExpression": {
                                            "argumentTypes": null,
                                            "id": 1243,
                                            "name": "i",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 1240,
                                            "src": "11439:1:7",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                            }
                                        },
                                        "nodeType": "BinaryOperation",
                                        "operator": "<",
                                        "rightExpression": {
                                            "argumentTypes": null,
                                            "expression": {
                                                "argumentTypes": null,
                                                "baseExpression": {
                                                    "argumentTypes": null,
                                                    "id": 1244,
                                                    "name": "vaults",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 587,
                                                    "src": "11441:6:7",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_mapping$_t_bytes32_$_t_array$_t_bytes32_$dyn_storage_$",
                                                        "typeString": "mapping(bytes32 => bytes32[] storage ref)"
                                                    }
                                                },
                                                "id": 1246,
                                                "indexExpression": {
                                                    "argumentTypes": null,
                                                    "id": 1245,
                                                    "name": "_creator",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 1190,
                                                    "src": "11448:8:7",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_bytes32",
                                                        "typeString": "bytes32"
                                                    }
                                                },
                                                "isConstant": false,
                                                "isLValue": true,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "nodeType": "IndexAccess",
                                                "src": "11441:16:7",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_array$_t_bytes32_$dyn_storage",
                                                    "typeString": "bytes32[] storage ref"
                                                }
                                            },
                                            "id": 1247,
                                            "isConstant": false,
                                            "isLValue": true,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "memberName": "length",
                                            "nodeType": "MemberAccess",
                                            "referencedDeclaration": null,
                                            "src": "11441:23:7",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                            }
                                        },
                                        "src": "11439:25:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "id": 1263,
                                    "initializationExpression": {
                                        "assignments": [
                                            1240
                                        ],
                                        "declarations": [
                                            {
                                                "constant": false,
                                                "id": 1240,
                                                "name": "i",
                                                "nodeType": "VariableDeclaration",
                                                "scope": 1263,
                                                "src": "11426:9:7",
                                                "stateVariable": false,
                                                "storageLocation": "default",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                },
                                                "typeName": {
                                                    "id": 1239,
                                                    "name": "uint256",
                                                    "nodeType": "ElementaryTypeName",
                                                    "src": "11426:7:7",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_uint256",
                                                        "typeString": "uint256"
                                                    }
                                                },
                                                "value": null,
                                                "visibility": "internal"
                                            }
                                        ],
                                        "id": 1242,
                                        "initialValue": {
                                            "argumentTypes": null,
                                            "hexValue": "30",
                                            "id": 1241,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": true,
                                            "kind": "number",
                                            "lValueRequested": false,
                                            "nodeType": "Literal",
                                            "src": "11436:1:7",
                                            "subdenomination": null,
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_rational_0_by_1",
                                                "typeString": "int_const 0"
                                            },
                                            "value": "0"
                                        },
                                        "nodeType": "VariableDeclarationStatement",
                                        "src": "11426:11:7"
                                    },
                                    "loopExpression": {
                                        "expression": {
                                            "argumentTypes": null,
                                            "id": 1250,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "nodeType": "UnaryOperation",
                                            "operator": "++",
                                            "prefix": false,
                                            "src": "11466:3:7",
                                            "subExpression": {
                                                "argumentTypes": null,
                                                "id": 1249,
                                                "name": "i",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 1240,
                                                "src": "11466:1:7",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                }
                                            },
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                            }
                                        },
                                        "id": 1251,
                                        "nodeType": "ExpressionStatement",
                                        "src": "11466:3:7"
                                    },
                                    "nodeType": "ForStatement",
                                    "src": "11422:131:7"
                                }
                            ]
                        },
                        "documentation": "This function prompts participants to co-sign a transaction on the vault (ie, the creator's address secured by the quorum of participants)\r\n@param _creator the vault's creator (eg, creator@email.com)\r\n@param _id vault creator's unique id using which it can be reached, eg, its Google/APNS token\r",
                        "id": 1265,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [
                            {
                                "arguments": [
                                    {
                                        "argumentTypes": null,
                                        "id": 1195,
                                        "name": "_creator",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 1190,
                                        "src": "11072:8:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                        }
                                    },
                                    {
                                        "argumentTypes": null,
                                        "id": 1196,
                                        "name": "_id",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 1192,
                                        "src": "11082:3:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_calldata_ptr",
                                            "typeString": "string calldata"
                                        }
                                    }
                                ],
                                "id": 1197,
                                "modifierName": {
                                    "argumentTypes": null,
                                    "id": 1194,
                                    "name": "onlySigner",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 695,
                                    "src": "11061:10:7",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_modifier$_t_bytes32_$_t_string_memory_ptr_$",
                                        "typeString": "modifier (bytes32,string memory)"
                                    }
                                },
                                "nodeType": "ModifierInvocation",
                                "src": "11061:25:7"
                            }
                        ],
                        "name": "promptSignatures",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 1193,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 1190,
                                    "name": "_creator",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 1265,
                                    "src": "11022:16:7",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes32",
                                        "typeString": "bytes32"
                                    },
                                    "typeName": {
                                        "id": 1189,
                                        "name": "bytes32",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "11022:7:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 1192,
                                    "name": "_id",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 1265,
                                    "src": "11040:19:7",
                                    "stateVariable": false,
                                    "storageLocation": "calldata",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_calldata_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 1191,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "11040:6:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                }
                            ],
                            "src": "11021:39:7"
                        },
                        "returnParameters": {
                            "id": 1198,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "11096:0:7"
                        },
                        "scope": 1949,
                        "src": "10996:564:7",
                        "stateMutability": "nonpayable",
                        "superFunction": 450,
                        "visibility": "external"
                    },
                    {
                        "body": {
                            "id": 1387,
                            "nodeType": "Block",
                            "src": "12170:748:7",
                            "statements": [
                                {
                                    "expression": {
                                        "argumentTypes": null,
                                        "arguments": [
                                            {
                                                "argumentTypes": null,
                                                "commonType": {
                                                    "typeIdentifier": "t_bytes32",
                                                    "typeString": "bytes32"
                                                },
                                                "id": 1299,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "leftExpression": {
                                                    "argumentTypes": null,
                                                    "arguments": [
                                                        {
                                                            "argumentTypes": null,
                                                            "arguments": [
                                                                {
                                                                    "argumentTypes": null,
                                                                    "baseExpression": {
                                                                        "argumentTypes": null,
                                                                        "baseExpression": {
                                                                            "argumentTypes": null,
                                                                            "id": 1286,
                                                                            "name": "pins",
                                                                            "nodeType": "Identifier",
                                                                            "overloadedDeclarations": [],
                                                                            "referencedDeclaration": 599,
                                                                            "src": "12216:4:7",
                                                                            "typeDescriptions": {
                                                                                "typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_bytes32_$_t_string_storage_$_$",
                                                                                "typeString": "mapping(bytes32 => mapping(bytes32 => string storage ref))"
                                                                            }
                                                                        },
                                                                        "id": 1288,
                                                                        "indexExpression": {
                                                                            "argumentTypes": null,
                                                                            "id": 1287,
                                                                            "name": "_creator",
                                                                            "nodeType": "Identifier",
                                                                            "overloadedDeclarations": [],
                                                                            "referencedDeclaration": 1267,
                                                                            "src": "12221:8:7",
                                                                            "typeDescriptions": {
                                                                                "typeIdentifier": "t_bytes32",
                                                                                "typeString": "bytes32"
                                                                            }
                                                                        },
                                                                        "isConstant": false,
                                                                        "isLValue": true,
                                                                        "isPure": false,
                                                                        "lValueRequested": false,
                                                                        "nodeType": "IndexAccess",
                                                                        "src": "12216:14:7",
                                                                        "typeDescriptions": {
                                                                            "typeIdentifier": "t_mapping$_t_bytes32_$_t_string_storage_$",
                                                                            "typeString": "mapping(bytes32 => string storage ref)"
                                                                        }
                                                                    },
                                                                    "id": 1290,
                                                                    "indexExpression": {
                                                                        "argumentTypes": null,
                                                                        "id": 1289,
                                                                        "name": "_participant",
                                                                        "nodeType": "Identifier",
                                                                        "overloadedDeclarations": [],
                                                                        "referencedDeclaration": 1271,
                                                                        "src": "12231:12:7",
                                                                        "typeDescriptions": {
                                                                            "typeIdentifier": "t_bytes32",
                                                                            "typeString": "bytes32"
                                                                        }
                                                                    },
                                                                    "isConstant": false,
                                                                    "isLValue": true,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "nodeType": "IndexAccess",
                                                                    "src": "12216:28:7",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_string_storage",
                                                                        "typeString": "string storage ref"
                                                                    }
                                                                }
                                                            ],
                                                            "expression": {
                                                                "argumentTypes": [
                                                                    {
                                                                        "typeIdentifier": "t_string_storage",
                                                                        "typeString": "string storage ref"
                                                                    }
                                                                ],
                                                                "expression": {
                                                                    "argumentTypes": null,
                                                                    "id": 1284,
                                                                    "name": "abi",
                                                                    "nodeType": "Identifier",
                                                                    "overloadedDeclarations": [],
                                                                    "referencedDeclaration": 3943,
                                                                    "src": "12199:3:7",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_magic_abi",
                                                                        "typeString": "abi"
                                                                    }
                                                                },
                                                                "id": 1285,
                                                                "isConstant": false,
                                                                "isLValue": false,
                                                                "isPure": true,
                                                                "lValueRequested": false,
                                                                "memberName": "encodePacked",
                                                                "nodeType": "MemberAccess",
                                                                "referencedDeclaration": null,
                                                                "src": "12199:16:7",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                                                                    "typeString": "function () pure returns (bytes memory)"
                                                                }
                                                            },
                                                            "id": 1291,
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": false,
                                                            "kind": "functionCall",
                                                            "lValueRequested": false,
                                                            "names": [],
                                                            "nodeType": "FunctionCall",
                                                            "src": "12199:46:7",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_bytes_memory_ptr",
                                                                "typeString": "bytes memory"
                                                            }
                                                        }
                                                    ],
                                                    "expression": {
                                                        "argumentTypes": [
                                                            {
                                                                "typeIdentifier": "t_bytes_memory_ptr",
                                                                "typeString": "bytes memory"
                                                            }
                                                        ],
                                                        "id": 1283,
                                                        "name": "keccak256",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 3950,
                                                        "src": "12189:9:7",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$",
                                                            "typeString": "function (bytes memory) pure returns (bytes32)"
                                                        }
                                                    },
                                                    "id": 1292,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "kind": "functionCall",
                                                    "lValueRequested": false,
                                                    "names": [],
                                                    "nodeType": "FunctionCall",
                                                    "src": "12189:57:7",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_bytes32",
                                                        "typeString": "bytes32"
                                                    }
                                                },
                                                "nodeType": "BinaryOperation",
                                                "operator": "==",
                                                "rightExpression": {
                                                    "argumentTypes": null,
                                                    "arguments": [
                                                        {
                                                            "argumentTypes": null,
                                                            "arguments": [
                                                                {
                                                                    "argumentTypes": null,
                                                                    "id": 1296,
                                                                    "name": "_pin",
                                                                    "nodeType": "Identifier",
                                                                    "overloadedDeclarations": [],
                                                                    "referencedDeclaration": 1275,
                                                                    "src": "12275:4:7",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_string_calldata_ptr",
                                                                        "typeString": "string calldata"
                                                                    }
                                                                }
                                                            ],
                                                            "expression": {
                                                                "argumentTypes": [
                                                                    {
                                                                        "typeIdentifier": "t_string_calldata_ptr",
                                                                        "typeString": "string calldata"
                                                                    }
                                                                ],
                                                                "expression": {
                                                                    "argumentTypes": null,
                                                                    "id": 1294,
                                                                    "name": "abi",
                                                                    "nodeType": "Identifier",
                                                                    "overloadedDeclarations": [],
                                                                    "referencedDeclaration": 3943,
                                                                    "src": "12258:3:7",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_magic_abi",
                                                                        "typeString": "abi"
                                                                    }
                                                                },
                                                                "id": 1295,
                                                                "isConstant": false,
                                                                "isLValue": false,
                                                                "isPure": true,
                                                                "lValueRequested": false,
                                                                "memberName": "encodePacked",
                                                                "nodeType": "MemberAccess",
                                                                "referencedDeclaration": null,
                                                                "src": "12258:16:7",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                                                                    "typeString": "function () pure returns (bytes memory)"
                                                                }
                                                            },
                                                            "id": 1297,
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": false,
                                                            "kind": "functionCall",
                                                            "lValueRequested": false,
                                                            "names": [],
                                                            "nodeType": "FunctionCall",
                                                            "src": "12258:22:7",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_bytes_memory_ptr",
                                                                "typeString": "bytes memory"
                                                            }
                                                        }
                                                    ],
                                                    "expression": {
                                                        "argumentTypes": [
                                                            {
                                                                "typeIdentifier": "t_bytes_memory_ptr",
                                                                "typeString": "bytes memory"
                                                            }
                                                        ],
                                                        "id": 1293,
                                                        "name": "keccak256",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 3950,
                                                        "src": "12248:9:7",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$",
                                                            "typeString": "function (bytes memory) pure returns (bytes32)"
                                                        }
                                                    },
                                                    "id": 1298,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "kind": "functionCall",
                                                    "lValueRequested": false,
                                                    "names": [],
                                                    "nodeType": "FunctionCall",
                                                    "src": "12248:33:7",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_bytes32",
                                                        "typeString": "bytes32"
                                                    }
                                                },
                                                "src": "12189:92:7",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bool",
                                                    "typeString": "bool"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bool",
                                                    "typeString": "bool"
                                                }
                                            ],
                                            "id": 1282,
                                            "name": "require",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [
                                                3959,
                                                3960
                                            ],
                                            "referencedDeclaration": 3959,
                                            "src": "12181:7:7",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
                                                "typeString": "function (bool) pure"
                                            }
                                        },
                                        "id": 1300,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "12181:101:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 1301,
                                    "nodeType": "ExpressionStatement",
                                    "src": "12181:101:7"
                                },
                                {
                                    "body": {
                                        "id": 1385,
                                        "nodeType": "Block",
                                        "src": "12344:567:7",
                                        "statements": [
                                            {
                                                "condition": {
                                                    "argumentTypes": null,
                                                    "commonType": {
                                                        "typeIdentifier": "t_uint256",
                                                        "typeString": "uint256"
                                                    },
                                                    "id": 1322,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "leftExpression": {
                                                        "argumentTypes": null,
                                                        "expression": {
                                                            "argumentTypes": null,
                                                            "baseExpression": {
                                                                "argumentTypes": null,
                                                                "baseExpression": {
                                                                    "argumentTypes": null,
                                                                    "id": 1315,
                                                                    "name": "transactions",
                                                                    "nodeType": "Identifier",
                                                                    "overloadedDeclarations": [],
                                                                    "referencedDeclaration": 614,
                                                                    "src": "12362:12:7",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_mapping$_t_bytes32_$_t_array$_t_struct$_transaction_$367_storage_$dyn_storage_$",
                                                                        "typeString": "mapping(bytes32 => struct IVault.transaction storage ref[] storage ref)"
                                                                    }
                                                                },
                                                                "id": 1317,
                                                                "indexExpression": {
                                                                    "argumentTypes": null,
                                                                    "id": 1316,
                                                                    "name": "_creator",
                                                                    "nodeType": "Identifier",
                                                                    "overloadedDeclarations": [],
                                                                    "referencedDeclaration": 1267,
                                                                    "src": "12375:8:7",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_bytes32",
                                                                        "typeString": "bytes32"
                                                                    }
                                                                },
                                                                "isConstant": false,
                                                                "isLValue": true,
                                                                "isPure": false,
                                                                "lValueRequested": false,
                                                                "nodeType": "IndexAccess",
                                                                "src": "12362:22:7",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_array$_t_struct$_transaction_$367_storage_$dyn_storage",
                                                                    "typeString": "struct IVault.transaction storage ref[] storage ref"
                                                                }
                                                            },
                                                            "id": 1319,
                                                            "indexExpression": {
                                                                "argumentTypes": null,
                                                                "id": 1318,
                                                                "name": "i",
                                                                "nodeType": "Identifier",
                                                                "overloadedDeclarations": [],
                                                                "referencedDeclaration": 1303,
                                                                "src": "12385:1:7",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_uint256",
                                                                    "typeString": "uint256"
                                                                }
                                                            },
                                                            "isConstant": false,
                                                            "isLValue": true,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "nodeType": "IndexAccess",
                                                            "src": "12362:25:7",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_struct$_transaction_$367_storage",
                                                                "typeString": "struct IVault.transaction storage ref"
                                                            }
                                                        },
                                                        "id": 1320,
                                                        "isConstant": false,
                                                        "isLValue": true,
                                                        "isPure": false,
                                                        "lValueRequested": false,
                                                        "memberName": "datetime",
                                                        "nodeType": "MemberAccess",
                                                        "referencedDeclaration": 363,
                                                        "src": "12362:34:7",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    "nodeType": "BinaryOperation",
                                                    "operator": "==",
                                                    "rightExpression": {
                                                        "argumentTypes": null,
                                                        "id": 1321,
                                                        "name": "_tx",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 1273,
                                                        "src": "12398:3:7",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    "src": "12362:39:7",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_bool",
                                                        "typeString": "bool"
                                                    }
                                                },
                                                "falseBody": null,
                                                "id": 1384,
                                                "nodeType": "IfStatement",
                                                "src": "12359:541:7",
                                                "trueBody": {
                                                    "id": 1383,
                                                    "nodeType": "Block",
                                                    "src": "12402:498:7",
                                                    "statements": [
                                                        {
                                                            "body": {
                                                                "id": 1375,
                                                                "nodeType": "Block",
                                                                "src": "12485:332:7",
                                                                "statements": [
                                                                    {
                                                                        "condition": {
                                                                            "argumentTypes": null,
                                                                            "commonType": {
                                                                                "typeIdentifier": "t_bytes32",
                                                                                "typeString": "bytes32"
                                                                            },
                                                                            "id": 1348,
                                                                            "isConstant": false,
                                                                            "isLValue": false,
                                                                            "isPure": false,
                                                                            "lValueRequested": false,
                                                                            "leftExpression": {
                                                                                "argumentTypes": null,
                                                                                "baseExpression": {
                                                                                    "argumentTypes": null,
                                                                                    "expression": {
                                                                                        "argumentTypes": null,
                                                                                        "baseExpression": {
                                                                                            "argumentTypes": null,
                                                                                            "baseExpression": {
                                                                                                "argumentTypes": null,
                                                                                                "id": 1339,
                                                                                                "name": "transactions",
                                                                                                "nodeType": "Identifier",
                                                                                                "overloadedDeclarations": [],
                                                                                                "referencedDeclaration": 614,
                                                                                                "src": "12511:12:7",
                                                                                                "typeDescriptions": {
                                                                                                    "typeIdentifier": "t_mapping$_t_bytes32_$_t_array$_t_struct$_transaction_$367_storage_$dyn_storage_$",
                                                                                                    "typeString": "mapping(bytes32 => struct IVault.transaction storage ref[] storage ref)"
                                                                                                }
                                                                                            },
                                                                                            "id": 1341,
                                                                                            "indexExpression": {
                                                                                                "argumentTypes": null,
                                                                                                "id": 1340,
                                                                                                "name": "_creator",
                                                                                                "nodeType": "Identifier",
                                                                                                "overloadedDeclarations": [],
                                                                                                "referencedDeclaration": 1267,
                                                                                                "src": "12524:8:7",
                                                                                                "typeDescriptions": {
                                                                                                    "typeIdentifier": "t_bytes32",
                                                                                                    "typeString": "bytes32"
                                                                                                }
                                                                                            },
                                                                                            "isConstant": false,
                                                                                            "isLValue": true,
                                                                                            "isPure": false,
                                                                                            "lValueRequested": false,
                                                                                            "nodeType": "IndexAccess",
                                                                                            "src": "12511:22:7",
                                                                                            "typeDescriptions": {
                                                                                                "typeIdentifier": "t_array$_t_struct$_transaction_$367_storage_$dyn_storage",
                                                                                                "typeString": "struct IVault.transaction storage ref[] storage ref"
                                                                                            }
                                                                                        },
                                                                                        "id": 1343,
                                                                                        "indexExpression": {
                                                                                            "argumentTypes": null,
                                                                                            "id": 1342,
                                                                                            "name": "i",
                                                                                            "nodeType": "Identifier",
                                                                                            "overloadedDeclarations": [],
                                                                                            "referencedDeclaration": 1303,
                                                                                            "src": "12534:1:7",
                                                                                            "typeDescriptions": {
                                                                                                "typeIdentifier": "t_uint256",
                                                                                                "typeString": "uint256"
                                                                                            }
                                                                                        },
                                                                                        "isConstant": false,
                                                                                        "isLValue": true,
                                                                                        "isPure": false,
                                                                                        "lValueRequested": false,
                                                                                        "nodeType": "IndexAccess",
                                                                                        "src": "12511:25:7",
                                                                                        "typeDescriptions": {
                                                                                            "typeIdentifier": "t_struct$_transaction_$367_storage",
                                                                                            "typeString": "struct IVault.transaction storage ref"
                                                                                        }
                                                                                    },
                                                                                    "id": 1344,
                                                                                    "isConstant": false,
                                                                                    "isLValue": true,
                                                                                    "isPure": false,
                                                                                    "lValueRequested": false,
                                                                                    "memberName": "cosigners",
                                                                                    "nodeType": "MemberAccess",
                                                                                    "referencedDeclaration": 366,
                                                                                    "src": "12511:35:7",
                                                                                    "typeDescriptions": {
                                                                                        "typeIdentifier": "t_array$_t_bytes32_$dyn_storage",
                                                                                        "typeString": "bytes32[] storage ref"
                                                                                    }
                                                                                },
                                                                                "id": 1346,
                                                                                "indexExpression": {
                                                                                    "argumentTypes": null,
                                                                                    "id": 1345,
                                                                                    "name": "j",
                                                                                    "nodeType": "Identifier",
                                                                                    "overloadedDeclarations": [],
                                                                                    "referencedDeclaration": 1324,
                                                                                    "src": "12547:1:7",
                                                                                    "typeDescriptions": {
                                                                                        "typeIdentifier": "t_uint256",
                                                                                        "typeString": "uint256"
                                                                                    }
                                                                                },
                                                                                "isConstant": false,
                                                                                "isLValue": true,
                                                                                "isPure": false,
                                                                                "lValueRequested": false,
                                                                                "nodeType": "IndexAccess",
                                                                                "src": "12511:38:7",
                                                                                "typeDescriptions": {
                                                                                    "typeIdentifier": "t_bytes32",
                                                                                    "typeString": "bytes32"
                                                                                }
                                                                            },
                                                                            "nodeType": "BinaryOperation",
                                                                            "operator": "==",
                                                                            "rightExpression": {
                                                                                "argumentTypes": null,
                                                                                "id": 1347,
                                                                                "name": "_participant",
                                                                                "nodeType": "Identifier",
                                                                                "overloadedDeclarations": [],
                                                                                "referencedDeclaration": 1271,
                                                                                "src": "12551:12:7",
                                                                                "typeDescriptions": {
                                                                                    "typeIdentifier": "t_bytes32",
                                                                                    "typeString": "bytes32"
                                                                                }
                                                                            },
                                                                            "src": "12511:52:7",
                                                                            "typeDescriptions": {
                                                                                "typeIdentifier": "t_bool",
                                                                                "typeString": "bool"
                                                                            }
                                                                        },
                                                                        "falseBody": null,
                                                                        "id": 1350,
                                                                        "nodeType": "IfStatement",
                                                                        "src": "12508:87:7",
                                                                        "trueBody": {
                                                                            "id": 1349,
                                                                            "nodeType": "Break",
                                                                            "src": "12590:5:7"
                                                                        }
                                                                    },
                                                                    {
                                                                        "condition": {
                                                                            "argumentTypes": null,
                                                                            "commonType": {
                                                                                "typeIdentifier": "t_bytes32",
                                                                                "typeString": "bytes32"
                                                                            },
                                                                            "id": 1360,
                                                                            "isConstant": false,
                                                                            "isLValue": false,
                                                                            "isPure": false,
                                                                            "lValueRequested": false,
                                                                            "leftExpression": {
                                                                                "argumentTypes": null,
                                                                                "baseExpression": {
                                                                                    "argumentTypes": null,
                                                                                    "expression": {
                                                                                        "argumentTypes": null,
                                                                                        "baseExpression": {
                                                                                            "argumentTypes": null,
                                                                                            "baseExpression": {
                                                                                                "argumentTypes": null,
                                                                                                "id": 1351,
                                                                                                "name": "transactions",
                                                                                                "nodeType": "Identifier",
                                                                                                "overloadedDeclarations": [],
                                                                                                "referencedDeclaration": 614,
                                                                                                "src": "12621:12:7",
                                                                                                "typeDescriptions": {
                                                                                                    "typeIdentifier": "t_mapping$_t_bytes32_$_t_array$_t_struct$_transaction_$367_storage_$dyn_storage_$",
                                                                                                    "typeString": "mapping(bytes32 => struct IVault.transaction storage ref[] storage ref)"
                                                                                                }
                                                                                            },
                                                                                            "id": 1353,
                                                                                            "indexExpression": {
                                                                                                "argumentTypes": null,
                                                                                                "id": 1352,
                                                                                                "name": "_creator",
                                                                                                "nodeType": "Identifier",
                                                                                                "overloadedDeclarations": [],
                                                                                                "referencedDeclaration": 1267,
                                                                                                "src": "12634:8:7",
                                                                                                "typeDescriptions": {
                                                                                                    "typeIdentifier": "t_bytes32",
                                                                                                    "typeString": "bytes32"
                                                                                                }
                                                                                            },
                                                                                            "isConstant": false,
                                                                                            "isLValue": true,
                                                                                            "isPure": false,
                                                                                            "lValueRequested": false,
                                                                                            "nodeType": "IndexAccess",
                                                                                            "src": "12621:22:7",
                                                                                            "typeDescriptions": {
                                                                                                "typeIdentifier": "t_array$_t_struct$_transaction_$367_storage_$dyn_storage",
                                                                                                "typeString": "struct IVault.transaction storage ref[] storage ref"
                                                                                            }
                                                                                        },
                                                                                        "id": 1355,
                                                                                        "indexExpression": {
                                                                                            "argumentTypes": null,
                                                                                            "id": 1354,
                                                                                            "name": "i",
                                                                                            "nodeType": "Identifier",
                                                                                            "overloadedDeclarations": [],
                                                                                            "referencedDeclaration": 1303,
                                                                                            "src": "12644:1:7",
                                                                                            "typeDescriptions": {
                                                                                                "typeIdentifier": "t_uint256",
                                                                                                "typeString": "uint256"
                                                                                            }
                                                                                        },
                                                                                        "isConstant": false,
                                                                                        "isLValue": true,
                                                                                        "isPure": false,
                                                                                        "lValueRequested": false,
                                                                                        "nodeType": "IndexAccess",
                                                                                        "src": "12621:25:7",
                                                                                        "typeDescriptions": {
                                                                                            "typeIdentifier": "t_struct$_transaction_$367_storage",
                                                                                            "typeString": "struct IVault.transaction storage ref"
                                                                                        }
                                                                                    },
                                                                                    "id": 1356,
                                                                                    "isConstant": false,
                                                                                    "isLValue": true,
                                                                                    "isPure": false,
                                                                                    "lValueRequested": false,
                                                                                    "memberName": "cosigners",
                                                                                    "nodeType": "MemberAccess",
                                                                                    "referencedDeclaration": 366,
                                                                                    "src": "12621:35:7",
                                                                                    "typeDescriptions": {
                                                                                        "typeIdentifier": "t_array$_t_bytes32_$dyn_storage",
                                                                                        "typeString": "bytes32[] storage ref"
                                                                                    }
                                                                                },
                                                                                "id": 1358,
                                                                                "indexExpression": {
                                                                                    "argumentTypes": null,
                                                                                    "id": 1357,
                                                                                    "name": "j",
                                                                                    "nodeType": "Identifier",
                                                                                    "overloadedDeclarations": [],
                                                                                    "referencedDeclaration": 1324,
                                                                                    "src": "12657:1:7",
                                                                                    "typeDescriptions": {
                                                                                        "typeIdentifier": "t_uint256",
                                                                                        "typeString": "uint256"
                                                                                    }
                                                                                },
                                                                                "isConstant": false,
                                                                                "isLValue": true,
                                                                                "isPure": false,
                                                                                "lValueRequested": false,
                                                                                "nodeType": "IndexAccess",
                                                                                "src": "12621:38:7",
                                                                                "typeDescriptions": {
                                                                                    "typeIdentifier": "t_bytes32",
                                                                                    "typeString": "bytes32"
                                                                                }
                                                                            },
                                                                            "nodeType": "BinaryOperation",
                                                                            "operator": "==",
                                                                            "rightExpression": {
                                                                                "argumentTypes": null,
                                                                                "hexValue": "",
                                                                                "id": 1359,
                                                                                "isConstant": false,
                                                                                "isLValue": false,
                                                                                "isPure": true,
                                                                                "kind": "string",
                                                                                "lValueRequested": false,
                                                                                "nodeType": "Literal",
                                                                                "src": "12661:2:7",
                                                                                "subdenomination": null,
                                                                                "typeDescriptions": {
                                                                                    "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
                                                                                    "typeString": "literal_string \"\""
                                                                                },
                                                                                "value": ""
                                                                            },
                                                                            "src": "12621:42:7",
                                                                            "typeDescriptions": {
                                                                                "typeIdentifier": "t_bool",
                                                                                "typeString": "bool"
                                                                            }
                                                                        },
                                                                        "falseBody": null,
                                                                        "id": 1374,
                                                                        "nodeType": "IfStatement",
                                                                        "src": "12618:180:7",
                                                                        "trueBody": {
                                                                            "id": 1373,
                                                                            "nodeType": "Block",
                                                                            "src": "12664:134:7",
                                                                            "statements": [
                                                                                {
                                                                                    "expression": {
                                                                                        "argumentTypes": null,
                                                                                        "id": 1370,
                                                                                        "isConstant": false,
                                                                                        "isLValue": false,
                                                                                        "isPure": false,
                                                                                        "lValueRequested": false,
                                                                                        "leftHandSide": {
                                                                                            "argumentTypes": null,
                                                                                            "baseExpression": {
                                                                                                "argumentTypes": null,
                                                                                                "expression": {
                                                                                                    "argumentTypes": null,
                                                                                                    "baseExpression": {
                                                                                                        "argumentTypes": null,
                                                                                                        "baseExpression": {
                                                                                                            "argumentTypes": null,
                                                                                                            "id": 1361,
                                                                                                            "name": "transactions",
                                                                                                            "nodeType": "Identifier",
                                                                                                            "overloadedDeclarations": [],
                                                                                                            "referencedDeclaration": 614,
                                                                                                            "src": "12691:12:7",
                                                                                                            "typeDescriptions": {
                                                                                                                "typeIdentifier": "t_mapping$_t_bytes32_$_t_array$_t_struct$_transaction_$367_storage_$dyn_storage_$",
                                                                                                                "typeString": "mapping(bytes32 => struct IVault.transaction storage ref[] storage ref)"
                                                                                                            }
                                                                                                        },
                                                                                                        "id": 1364,
                                                                                                        "indexExpression": {
                                                                                                            "argumentTypes": null,
                                                                                                            "id": 1362,
                                                                                                            "name": "_creator",
                                                                                                            "nodeType": "Identifier",
                                                                                                            "overloadedDeclarations": [],
                                                                                                            "referencedDeclaration": 1267,
                                                                                                            "src": "12704:8:7",
                                                                                                            "typeDescriptions": {
                                                                                                                "typeIdentifier": "t_bytes32",
                                                                                                                "typeString": "bytes32"
                                                                                                            }
                                                                                                        },
                                                                                                        "isConstant": false,
                                                                                                        "isLValue": true,
                                                                                                        "isPure": false,
                                                                                                        "lValueRequested": false,
                                                                                                        "nodeType": "IndexAccess",
                                                                                                        "src": "12691:22:7",
                                                                                                        "typeDescriptions": {
                                                                                                            "typeIdentifier": "t_array$_t_struct$_transaction_$367_storage_$dyn_storage",
                                                                                                            "typeString": "struct IVault.transaction storage ref[] storage ref"
                                                                                                        }
                                                                                                    },
                                                                                                    "id": 1365,
                                                                                                    "indexExpression": {
                                                                                                        "argumentTypes": null,
                                                                                                        "id": 1363,
                                                                                                        "name": "i",
                                                                                                        "nodeType": "Identifier",
                                                                                                        "overloadedDeclarations": [],
                                                                                                        "referencedDeclaration": 1303,
                                                                                                        "src": "12714:1:7",
                                                                                                        "typeDescriptions": {
                                                                                                            "typeIdentifier": "t_uint256",
                                                                                                            "typeString": "uint256"
                                                                                                        }
                                                                                                    },
                                                                                                    "isConstant": false,
                                                                                                    "isLValue": true,
                                                                                                    "isPure": false,
                                                                                                    "lValueRequested": false,
                                                                                                    "nodeType": "IndexAccess",
                                                                                                    "src": "12691:25:7",
                                                                                                    "typeDescriptions": {
                                                                                                        "typeIdentifier": "t_struct$_transaction_$367_storage",
                                                                                                        "typeString": "struct IVault.transaction storage ref"
                                                                                                    }
                                                                                                },
                                                                                                "id": 1366,
                                                                                                "isConstant": false,
                                                                                                "isLValue": true,
                                                                                                "isPure": false,
                                                                                                "lValueRequested": false,
                                                                                                "memberName": "cosigners",
                                                                                                "nodeType": "MemberAccess",
                                                                                                "referencedDeclaration": 366,
                                                                                                "src": "12691:35:7",
                                                                                                "typeDescriptions": {
                                                                                                    "typeIdentifier": "t_array$_t_bytes32_$dyn_storage",
                                                                                                    "typeString": "bytes32[] storage ref"
                                                                                                }
                                                                                            },
                                                                                            "id": 1368,
                                                                                            "indexExpression": {
                                                                                                "argumentTypes": null,
                                                                                                "id": 1367,
                                                                                                "name": "j",
                                                                                                "nodeType": "Identifier",
                                                                                                "overloadedDeclarations": [],
                                                                                                "referencedDeclaration": 1324,
                                                                                                "src": "12727:1:7",
                                                                                                "typeDescriptions": {
                                                                                                    "typeIdentifier": "t_uint256",
                                                                                                    "typeString": "uint256"
                                                                                                }
                                                                                            },
                                                                                            "isConstant": false,
                                                                                            "isLValue": true,
                                                                                            "isPure": false,
                                                                                            "lValueRequested": true,
                                                                                            "nodeType": "IndexAccess",
                                                                                            "src": "12691:38:7",
                                                                                            "typeDescriptions": {
                                                                                                "typeIdentifier": "t_bytes32",
                                                                                                "typeString": "bytes32"
                                                                                            }
                                                                                        },
                                                                                        "nodeType": "Assignment",
                                                                                        "operator": "=",
                                                                                        "rightHandSide": {
                                                                                            "argumentTypes": null,
                                                                                            "id": 1369,
                                                                                            "name": "_participant",
                                                                                            "nodeType": "Identifier",
                                                                                            "overloadedDeclarations": [],
                                                                                            "referencedDeclaration": 1271,
                                                                                            "src": "12730:12:7",
                                                                                            "typeDescriptions": {
                                                                                                "typeIdentifier": "t_bytes32",
                                                                                                "typeString": "bytes32"
                                                                                            }
                                                                                        },
                                                                                        "src": "12691:51:7",
                                                                                        "typeDescriptions": {
                                                                                            "typeIdentifier": "t_bytes32",
                                                                                            "typeString": "bytes32"
                                                                                        }
                                                                                    },
                                                                                    "id": 1371,
                                                                                    "nodeType": "ExpressionStatement",
                                                                                    "src": "12691:51:7"
                                                                                },
                                                                                {
                                                                                    "id": 1372,
                                                                                    "nodeType": "Break",
                                                                                    "src": "12769:5:7"
                                                                                }
                                                                            ]
                                                                        }
                                                                    }
                                                                ]
                                                            },
                                                            "condition": {
                                                                "argumentTypes": null,
                                                                "commonType": {
                                                                    "typeIdentifier": "t_uint256",
                                                                    "typeString": "uint256"
                                                                },
                                                                "id": 1335,
                                                                "isConstant": false,
                                                                "isLValue": false,
                                                                "isPure": false,
                                                                "lValueRequested": false,
                                                                "leftExpression": {
                                                                    "argumentTypes": null,
                                                                    "id": 1327,
                                                                    "name": "j",
                                                                    "nodeType": "Identifier",
                                                                    "overloadedDeclarations": [],
                                                                    "referencedDeclaration": 1324,
                                                                    "src": "12435:1:7",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_uint256",
                                                                        "typeString": "uint256"
                                                                    }
                                                                },
                                                                "nodeType": "BinaryOperation",
                                                                "operator": "<",
                                                                "rightExpression": {
                                                                    "argumentTypes": null,
                                                                    "expression": {
                                                                        "argumentTypes": null,
                                                                        "expression": {
                                                                            "argumentTypes": null,
                                                                            "baseExpression": {
                                                                                "argumentTypes": null,
                                                                                "baseExpression": {
                                                                                    "argumentTypes": null,
                                                                                    "id": 1328,
                                                                                    "name": "transactions",
                                                                                    "nodeType": "Identifier",
                                                                                    "overloadedDeclarations": [],
                                                                                    "referencedDeclaration": 614,
                                                                                    "src": "12437:12:7",
                                                                                    "typeDescriptions": {
                                                                                        "typeIdentifier": "t_mapping$_t_bytes32_$_t_array$_t_struct$_transaction_$367_storage_$dyn_storage_$",
                                                                                        "typeString": "mapping(bytes32 => struct IVault.transaction storage ref[] storage ref)"
                                                                                    }
                                                                                },
                                                                                "id": 1330,
                                                                                "indexExpression": {
                                                                                    "argumentTypes": null,
                                                                                    "id": 1329,
                                                                                    "name": "_creator",
                                                                                    "nodeType": "Identifier",
                                                                                    "overloadedDeclarations": [],
                                                                                    "referencedDeclaration": 1267,
                                                                                    "src": "12450:8:7",
                                                                                    "typeDescriptions": {
                                                                                        "typeIdentifier": "t_bytes32",
                                                                                        "typeString": "bytes32"
                                                                                    }
                                                                                },
                                                                                "isConstant": false,
                                                                                "isLValue": true,
                                                                                "isPure": false,
                                                                                "lValueRequested": false,
                                                                                "nodeType": "IndexAccess",
                                                                                "src": "12437:22:7",
                                                                                "typeDescriptions": {
                                                                                    "typeIdentifier": "t_array$_t_struct$_transaction_$367_storage_$dyn_storage",
                                                                                    "typeString": "struct IVault.transaction storage ref[] storage ref"
                                                                                }
                                                                            },
                                                                            "id": 1332,
                                                                            "indexExpression": {
                                                                                "argumentTypes": null,
                                                                                "id": 1331,
                                                                                "name": "i",
                                                                                "nodeType": "Identifier",
                                                                                "overloadedDeclarations": [],
                                                                                "referencedDeclaration": 1303,
                                                                                "src": "12460:1:7",
                                                                                "typeDescriptions": {
                                                                                    "typeIdentifier": "t_uint256",
                                                                                    "typeString": "uint256"
                                                                                }
                                                                            },
                                                                            "isConstant": false,
                                                                            "isLValue": true,
                                                                            "isPure": false,
                                                                            "lValueRequested": false,
                                                                            "nodeType": "IndexAccess",
                                                                            "src": "12437:25:7",
                                                                            "typeDescriptions": {
                                                                                "typeIdentifier": "t_struct$_transaction_$367_storage",
                                                                                "typeString": "struct IVault.transaction storage ref"
                                                                            }
                                                                        },
                                                                        "id": 1333,
                                                                        "isConstant": false,
                                                                        "isLValue": true,
                                                                        "isPure": false,
                                                                        "lValueRequested": false,
                                                                        "memberName": "cosigners",
                                                                        "nodeType": "MemberAccess",
                                                                        "referencedDeclaration": 366,
                                                                        "src": "12437:35:7",
                                                                        "typeDescriptions": {
                                                                            "typeIdentifier": "t_array$_t_bytes32_$dyn_storage",
                                                                            "typeString": "bytes32[] storage ref"
                                                                        }
                                                                    },
                                                                    "id": 1334,
                                                                    "isConstant": false,
                                                                    "isLValue": true,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "memberName": "length",
                                                                    "nodeType": "MemberAccess",
                                                                    "referencedDeclaration": null,
                                                                    "src": "12437:42:7",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_uint256",
                                                                        "typeString": "uint256"
                                                                    }
                                                                },
                                                                "src": "12435:44:7",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_bool",
                                                                    "typeString": "bool"
                                                                }
                                                            },
                                                            "id": 1376,
                                                            "initializationExpression": {
                                                                "assignments": [
                                                                    1324
                                                                ],
                                                                "declarations": [
                                                                    {
                                                                        "constant": false,
                                                                        "id": 1324,
                                                                        "name": "j",
                                                                        "nodeType": "VariableDeclaration",
                                                                        "scope": 1376,
                                                                        "src": "12425:6:7",
                                                                        "stateVariable": false,
                                                                        "storageLocation": "default",
                                                                        "typeDescriptions": {
                                                                            "typeIdentifier": "t_uint256",
                                                                            "typeString": "uint256"
                                                                        },
                                                                        "typeName": {
                                                                            "id": 1323,
                                                                            "name": "uint",
                                                                            "nodeType": "ElementaryTypeName",
                                                                            "src": "12425:4:7",
                                                                            "typeDescriptions": {
                                                                                "typeIdentifier": "t_uint256",
                                                                                "typeString": "uint256"
                                                                            }
                                                                        },
                                                                        "value": null,
                                                                        "visibility": "internal"
                                                                    }
                                                                ],
                                                                "id": 1326,
                                                                "initialValue": {
                                                                    "argumentTypes": null,
                                                                    "hexValue": "30",
                                                                    "id": 1325,
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": true,
                                                                    "kind": "number",
                                                                    "lValueRequested": false,
                                                                    "nodeType": "Literal",
                                                                    "src": "12432:1:7",
                                                                    "subdenomination": null,
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_rational_0_by_1",
                                                                        "typeString": "int_const 0"
                                                                    },
                                                                    "value": "0"
                                                                },
                                                                "nodeType": "VariableDeclarationStatement",
                                                                "src": "12425:8:7"
                                                            },
                                                            "loopExpression": {
                                                                "expression": {
                                                                    "argumentTypes": null,
                                                                    "id": 1337,
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "nodeType": "UnaryOperation",
                                                                    "operator": "++",
                                                                    "prefix": false,
                                                                    "src": "12481:3:7",
                                                                    "subExpression": {
                                                                        "argumentTypes": null,
                                                                        "id": 1336,
                                                                        "name": "j",
                                                                        "nodeType": "Identifier",
                                                                        "overloadedDeclarations": [],
                                                                        "referencedDeclaration": 1324,
                                                                        "src": "12481:1:7",
                                                                        "typeDescriptions": {
                                                                            "typeIdentifier": "t_uint256",
                                                                            "typeString": "uint256"
                                                                        }
                                                                    },
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_uint256",
                                                                        "typeString": "uint256"
                                                                    }
                                                                },
                                                                "id": 1338,
                                                                "nodeType": "ExpressionStatement",
                                                                "src": "12481:3:7"
                                                            },
                                                            "nodeType": "ForStatement",
                                                            "src": "12421:396:7"
                                                        },
                                                        {
                                                            "eventCall": {
                                                                "argumentTypes": null,
                                                                "arguments": [
                                                                    {
                                                                        "argumentTypes": null,
                                                                        "id": 1378,
                                                                        "name": "_creator",
                                                                        "nodeType": "Identifier",
                                                                        "overloadedDeclarations": [],
                                                                        "referencedDeclaration": 1267,
                                                                        "src": "12856:8:7",
                                                                        "typeDescriptions": {
                                                                            "typeIdentifier": "t_bytes32",
                                                                            "typeString": "bytes32"
                                                                        }
                                                                    },
                                                                    {
                                                                        "argumentTypes": null,
                                                                        "id": 1379,
                                                                        "name": "_participant",
                                                                        "nodeType": "Identifier",
                                                                        "overloadedDeclarations": [],
                                                                        "referencedDeclaration": 1271,
                                                                        "src": "12866:12:7",
                                                                        "typeDescriptions": {
                                                                            "typeIdentifier": "t_bytes32",
                                                                            "typeString": "bytes32"
                                                                        }
                                                                    },
                                                                    {
                                                                        "argumentTypes": null,
                                                                        "id": 1380,
                                                                        "name": "_tx",
                                                                        "nodeType": "Identifier",
                                                                        "overloadedDeclarations": [],
                                                                        "referencedDeclaration": 1273,
                                                                        "src": "12880:3:7",
                                                                        "typeDescriptions": {
                                                                            "typeIdentifier": "t_uint256",
                                                                            "typeString": "uint256"
                                                                        }
                                                                    }
                                                                ],
                                                                "expression": {
                                                                    "argumentTypes": [
                                                                        {
                                                                            "typeIdentifier": "t_bytes32",
                                                                            "typeString": "bytes32"
                                                                        },
                                                                        {
                                                                            "typeIdentifier": "t_bytes32",
                                                                            "typeString": "bytes32"
                                                                        },
                                                                        {
                                                                            "typeIdentifier": "t_uint256",
                                                                            "typeString": "uint256"
                                                                        }
                                                                    ],
                                                                    "id": 1377,
                                                                    "name": "SignTransaction",
                                                                    "nodeType": "Identifier",
                                                                    "overloadedDeclarations": [],
                                                                    "referencedDeclaration": 636,
                                                                    "src": "12840:15:7",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_bytes32_$_t_uint256_$returns$__$",
                                                                        "typeString": "function (bytes32,bytes32,uint256)"
                                                                    }
                                                                },
                                                                "id": 1381,
                                                                "isConstant": false,
                                                                "isLValue": false,
                                                                "isPure": false,
                                                                "kind": "functionCall",
                                                                "lValueRequested": false,
                                                                "names": [],
                                                                "nodeType": "FunctionCall",
                                                                "src": "12840:44:7",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_tuple$__$",
                                                                    "typeString": "tuple()"
                                                                }
                                                            },
                                                            "id": 1382,
                                                            "nodeType": "EmitStatement",
                                                            "src": "12835:49:7"
                                                        }
                                                    ]
                                                }
                                            }
                                        ]
                                    },
                                    "condition": {
                                        "argumentTypes": null,
                                        "commonType": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        },
                                        "id": 1311,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "leftExpression": {
                                            "argumentTypes": null,
                                            "id": 1306,
                                            "name": "i",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 1303,
                                            "src": "12307:1:7",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                            }
                                        },
                                        "nodeType": "BinaryOperation",
                                        "operator": "<",
                                        "rightExpression": {
                                            "argumentTypes": null,
                                            "expression": {
                                                "argumentTypes": null,
                                                "baseExpression": {
                                                    "argumentTypes": null,
                                                    "id": 1307,
                                                    "name": "transactions",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 614,
                                                    "src": "12309:12:7",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_mapping$_t_bytes32_$_t_array$_t_struct$_transaction_$367_storage_$dyn_storage_$",
                                                        "typeString": "mapping(bytes32 => struct IVault.transaction storage ref[] storage ref)"
                                                    }
                                                },
                                                "id": 1309,
                                                "indexExpression": {
                                                    "argumentTypes": null,
                                                    "id": 1308,
                                                    "name": "_creator",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 1267,
                                                    "src": "12322:8:7",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_bytes32",
                                                        "typeString": "bytes32"
                                                    }
                                                },
                                                "isConstant": false,
                                                "isLValue": true,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "nodeType": "IndexAccess",
                                                "src": "12309:22:7",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_array$_t_struct$_transaction_$367_storage_$dyn_storage",
                                                    "typeString": "struct IVault.transaction storage ref[] storage ref"
                                                }
                                            },
                                            "id": 1310,
                                            "isConstant": false,
                                            "isLValue": true,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "memberName": "length",
                                            "nodeType": "MemberAccess",
                                            "referencedDeclaration": null,
                                            "src": "12309:29:7",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                            }
                                        },
                                        "src": "12307:31:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "id": 1386,
                                    "initializationExpression": {
                                        "assignments": [
                                            1303
                                        ],
                                        "declarations": [
                                            {
                                                "constant": false,
                                                "id": 1303,
                                                "name": "i",
                                                "nodeType": "VariableDeclaration",
                                                "scope": 1386,
                                                "src": "12297:6:7",
                                                "stateVariable": false,
                                                "storageLocation": "default",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                },
                                                "typeName": {
                                                    "id": 1302,
                                                    "name": "uint",
                                                    "nodeType": "ElementaryTypeName",
                                                    "src": "12297:4:7",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_uint256",
                                                        "typeString": "uint256"
                                                    }
                                                },
                                                "value": null,
                                                "visibility": "internal"
                                            }
                                        ],
                                        "id": 1305,
                                        "initialValue": {
                                            "argumentTypes": null,
                                            "hexValue": "30",
                                            "id": 1304,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": true,
                                            "kind": "number",
                                            "lValueRequested": false,
                                            "nodeType": "Literal",
                                            "src": "12304:1:7",
                                            "subdenomination": null,
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_rational_0_by_1",
                                                "typeString": "int_const 0"
                                            },
                                            "value": "0"
                                        },
                                        "nodeType": "VariableDeclarationStatement",
                                        "src": "12297:8:7"
                                    },
                                    "loopExpression": {
                                        "expression": {
                                            "argumentTypes": null,
                                            "id": 1313,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "nodeType": "UnaryOperation",
                                            "operator": "++",
                                            "prefix": false,
                                            "src": "12340:3:7",
                                            "subExpression": {
                                                "argumentTypes": null,
                                                "id": 1312,
                                                "name": "i",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 1303,
                                                "src": "12340:1:7",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                }
                                            },
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                            }
                                        },
                                        "id": 1314,
                                        "nodeType": "ExpressionStatement",
                                        "src": "12340:3:7"
                                    },
                                    "nodeType": "ForStatement",
                                    "src": "12293:618:7"
                                }
                            ]
                        },
                        "documentation": "This function lets a participant co-sign a transaction\r\n@param _creator the vault's creator (eg, creator@email.com)\r\n@param _id vault creator's unique id using which it can be reached, eg, its Google/APNS token\r\n@param _participant the vault's participant (eg, participant@email.com)\r\n@param _tx transaction identifier\r\n@param _pin the PIN number of the signer (participant)\r",
                        "id": 1388,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [
                            {
                                "arguments": [
                                    {
                                        "argumentTypes": null,
                                        "id": 1278,
                                        "name": "_participant",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 1271,
                                        "src": "12142:12:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                        }
                                    },
                                    {
                                        "argumentTypes": null,
                                        "id": 1279,
                                        "name": "_id",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 1269,
                                        "src": "12156:3:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_calldata_ptr",
                                            "typeString": "string calldata"
                                        }
                                    }
                                ],
                                "id": 1280,
                                "modifierName": {
                                    "argumentTypes": null,
                                    "id": 1277,
                                    "name": "onlySigner",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 695,
                                    "src": "12131:10:7",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_modifier$_t_bytes32_$_t_string_memory_ptr_$",
                                        "typeString": "modifier (bytes32,string memory)"
                                    }
                                },
                                "nodeType": "ModifierInvocation",
                                "src": "12131:29:7"
                            }
                        ],
                        "name": "signTransaction",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 1276,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 1267,
                                    "name": "_creator",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 1388,
                                    "src": "12035:16:7",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes32",
                                        "typeString": "bytes32"
                                    },
                                    "typeName": {
                                        "id": 1266,
                                        "name": "bytes32",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "12035:7:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 1269,
                                    "name": "_id",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 1388,
                                    "src": "12053:19:7",
                                    "stateVariable": false,
                                    "storageLocation": "calldata",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_calldata_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 1268,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "12053:6:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 1271,
                                    "name": "_participant",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 1388,
                                    "src": "12074:20:7",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes32",
                                        "typeString": "bytes32"
                                    },
                                    "typeName": {
                                        "id": 1270,
                                        "name": "bytes32",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "12074:7:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 1273,
                                    "name": "_tx",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 1388,
                                    "src": "12096:11:7",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 1272,
                                        "name": "uint256",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "12096:7:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 1275,
                                    "name": "_pin",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 1388,
                                    "src": "12109:20:7",
                                    "stateVariable": false,
                                    "storageLocation": "calldata",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_calldata_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 1274,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "12109:6:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                }
                            ],
                            "src": "12034:96:7"
                        },
                        "returnParameters": {
                            "id": 1281,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "12170:0:7"
                        },
                        "scope": 1949,
                        "src": "12010:908:7",
                        "stateMutability": "nonpayable",
                        "superFunction": 463,
                        "visibility": "external"
                    },
                    {
                        "body": {
                            "id": 1508,
                            "nodeType": "Block",
                            "src": "13501:794:7",
                            "statements": [
                                {
                                    "expression": {
                                        "argumentTypes": null,
                                        "arguments": [
                                            {
                                                "argumentTypes": null,
                                                "commonType": {
                                                    "typeIdentifier": "t_bytes32",
                                                    "typeString": "bytes32"
                                                },
                                                "id": 1422,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "leftExpression": {
                                                    "argumentTypes": null,
                                                    "arguments": [
                                                        {
                                                            "argumentTypes": null,
                                                            "arguments": [
                                                                {
                                                                    "argumentTypes": null,
                                                                    "baseExpression": {
                                                                        "argumentTypes": null,
                                                                        "baseExpression": {
                                                                            "argumentTypes": null,
                                                                            "id": 1409,
                                                                            "name": "pins",
                                                                            "nodeType": "Identifier",
                                                                            "overloadedDeclarations": [],
                                                                            "referencedDeclaration": 599,
                                                                            "src": "13547:4:7",
                                                                            "typeDescriptions": {
                                                                                "typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_bytes32_$_t_string_storage_$_$",
                                                                                "typeString": "mapping(bytes32 => mapping(bytes32 => string storage ref))"
                                                                            }
                                                                        },
                                                                        "id": 1411,
                                                                        "indexExpression": {
                                                                            "argumentTypes": null,
                                                                            "id": 1410,
                                                                            "name": "_creator",
                                                                            "nodeType": "Identifier",
                                                                            "overloadedDeclarations": [],
                                                                            "referencedDeclaration": 1390,
                                                                            "src": "13552:8:7",
                                                                            "typeDescriptions": {
                                                                                "typeIdentifier": "t_bytes32",
                                                                                "typeString": "bytes32"
                                                                            }
                                                                        },
                                                                        "isConstant": false,
                                                                        "isLValue": true,
                                                                        "isPure": false,
                                                                        "lValueRequested": false,
                                                                        "nodeType": "IndexAccess",
                                                                        "src": "13547:14:7",
                                                                        "typeDescriptions": {
                                                                            "typeIdentifier": "t_mapping$_t_bytes32_$_t_string_storage_$",
                                                                            "typeString": "mapping(bytes32 => string storage ref)"
                                                                        }
                                                                    },
                                                                    "id": 1413,
                                                                    "indexExpression": {
                                                                        "argumentTypes": null,
                                                                        "id": 1412,
                                                                        "name": "_participant",
                                                                        "nodeType": "Identifier",
                                                                        "overloadedDeclarations": [],
                                                                        "referencedDeclaration": 1394,
                                                                        "src": "13562:12:7",
                                                                        "typeDescriptions": {
                                                                            "typeIdentifier": "t_bytes32",
                                                                            "typeString": "bytes32"
                                                                        }
                                                                    },
                                                                    "isConstant": false,
                                                                    "isLValue": true,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "nodeType": "IndexAccess",
                                                                    "src": "13547:28:7",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_string_storage",
                                                                        "typeString": "string storage ref"
                                                                    }
                                                                }
                                                            ],
                                                            "expression": {
                                                                "argumentTypes": [
                                                                    {
                                                                        "typeIdentifier": "t_string_storage",
                                                                        "typeString": "string storage ref"
                                                                    }
                                                                ],
                                                                "expression": {
                                                                    "argumentTypes": null,
                                                                    "id": 1407,
                                                                    "name": "abi",
                                                                    "nodeType": "Identifier",
                                                                    "overloadedDeclarations": [],
                                                                    "referencedDeclaration": 3943,
                                                                    "src": "13530:3:7",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_magic_abi",
                                                                        "typeString": "abi"
                                                                    }
                                                                },
                                                                "id": 1408,
                                                                "isConstant": false,
                                                                "isLValue": false,
                                                                "isPure": true,
                                                                "lValueRequested": false,
                                                                "memberName": "encodePacked",
                                                                "nodeType": "MemberAccess",
                                                                "referencedDeclaration": null,
                                                                "src": "13530:16:7",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                                                                    "typeString": "function () pure returns (bytes memory)"
                                                                }
                                                            },
                                                            "id": 1414,
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": false,
                                                            "kind": "functionCall",
                                                            "lValueRequested": false,
                                                            "names": [],
                                                            "nodeType": "FunctionCall",
                                                            "src": "13530:46:7",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_bytes_memory_ptr",
                                                                "typeString": "bytes memory"
                                                            }
                                                        }
                                                    ],
                                                    "expression": {
                                                        "argumentTypes": [
                                                            {
                                                                "typeIdentifier": "t_bytes_memory_ptr",
                                                                "typeString": "bytes memory"
                                                            }
                                                        ],
                                                        "id": 1406,
                                                        "name": "keccak256",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 3950,
                                                        "src": "13520:9:7",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$",
                                                            "typeString": "function (bytes memory) pure returns (bytes32)"
                                                        }
                                                    },
                                                    "id": 1415,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "kind": "functionCall",
                                                    "lValueRequested": false,
                                                    "names": [],
                                                    "nodeType": "FunctionCall",
                                                    "src": "13520:57:7",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_bytes32",
                                                        "typeString": "bytes32"
                                                    }
                                                },
                                                "nodeType": "BinaryOperation",
                                                "operator": "!=",
                                                "rightExpression": {
                                                    "argumentTypes": null,
                                                    "arguments": [
                                                        {
                                                            "argumentTypes": null,
                                                            "arguments": [
                                                                {
                                                                    "argumentTypes": null,
                                                                    "hexValue": "",
                                                                    "id": 1419,
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": true,
                                                                    "kind": "string",
                                                                    "lValueRequested": false,
                                                                    "nodeType": "Literal",
                                                                    "src": "13606:2:7",
                                                                    "subdenomination": null,
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
                                                                        "typeString": "literal_string \"\""
                                                                    },
                                                                    "value": ""
                                                                }
                                                            ],
                                                            "expression": {
                                                                "argumentTypes": [
                                                                    {
                                                                        "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
                                                                        "typeString": "literal_string \"\""
                                                                    }
                                                                ],
                                                                "expression": {
                                                                    "argumentTypes": null,
                                                                    "id": 1417,
                                                                    "name": "abi",
                                                                    "nodeType": "Identifier",
                                                                    "overloadedDeclarations": [],
                                                                    "referencedDeclaration": 3943,
                                                                    "src": "13589:3:7",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_magic_abi",
                                                                        "typeString": "abi"
                                                                    }
                                                                },
                                                                "id": 1418,
                                                                "isConstant": false,
                                                                "isLValue": false,
                                                                "isPure": true,
                                                                "lValueRequested": false,
                                                                "memberName": "encodePacked",
                                                                "nodeType": "MemberAccess",
                                                                "referencedDeclaration": null,
                                                                "src": "13589:16:7",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                                                                    "typeString": "function () pure returns (bytes memory)"
                                                                }
                                                            },
                                                            "id": 1420,
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": true,
                                                            "kind": "functionCall",
                                                            "lValueRequested": false,
                                                            "names": [],
                                                            "nodeType": "FunctionCall",
                                                            "src": "13589:20:7",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_bytes_memory_ptr",
                                                                "typeString": "bytes memory"
                                                            }
                                                        }
                                                    ],
                                                    "expression": {
                                                        "argumentTypes": [
                                                            {
                                                                "typeIdentifier": "t_bytes_memory_ptr",
                                                                "typeString": "bytes memory"
                                                            }
                                                        ],
                                                        "id": 1416,
                                                        "name": "keccak256",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 3950,
                                                        "src": "13579:9:7",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$",
                                                            "typeString": "function (bytes memory) pure returns (bytes32)"
                                                        }
                                                    },
                                                    "id": 1421,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "kind": "functionCall",
                                                    "lValueRequested": false,
                                                    "names": [],
                                                    "nodeType": "FunctionCall",
                                                    "src": "13579:31:7",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_bytes32",
                                                        "typeString": "bytes32"
                                                    }
                                                },
                                                "src": "13520:90:7",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bool",
                                                    "typeString": "bool"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bool",
                                                    "typeString": "bool"
                                                }
                                            ],
                                            "id": 1405,
                                            "name": "require",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [
                                                3959,
                                                3960
                                            ],
                                            "referencedDeclaration": 3959,
                                            "src": "13512:7:7",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
                                                "typeString": "function (bool) pure"
                                            }
                                        },
                                        "id": 1423,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "13512:99:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 1424,
                                    "nodeType": "ExpressionStatement",
                                    "src": "13512:99:7"
                                },
                                {
                                    "assignments": [
                                        1426
                                    ],
                                    "declarations": [
                                        {
                                            "constant": false,
                                            "id": 1426,
                                            "name": "_quorum",
                                            "nodeType": "VariableDeclaration",
                                            "scope": 1508,
                                            "src": "13622:12:7",
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_bool",
                                                "typeString": "bool"
                                            },
                                            "typeName": {
                                                "id": 1425,
                                                "name": "bool",
                                                "nodeType": "ElementaryTypeName",
                                                "src": "13622:4:7",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bool",
                                                    "typeString": "bool"
                                                }
                                            },
                                            "value": null,
                                            "visibility": "internal"
                                        }
                                    ],
                                    "id": 1428,
                                    "initialValue": {
                                        "argumentTypes": null,
                                        "hexValue": "66616c7365",
                                        "id": 1427,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": true,
                                        "kind": "bool",
                                        "lValueRequested": false,
                                        "nodeType": "Literal",
                                        "src": "13637:5:7",
                                        "subdenomination": null,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        },
                                        "value": "false"
                                    },
                                    "nodeType": "VariableDeclarationStatement",
                                    "src": "13622:20:7"
                                },
                                {
                                    "body": {
                                        "id": 1500,
                                        "nodeType": "Block",
                                        "src": "13704:488:7",
                                        "statements": [
                                            {
                                                "condition": {
                                                    "argumentTypes": null,
                                                    "commonType": {
                                                        "typeIdentifier": "t_uint256",
                                                        "typeString": "uint256"
                                                    },
                                                    "id": 1449,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "leftExpression": {
                                                        "argumentTypes": null,
                                                        "expression": {
                                                            "argumentTypes": null,
                                                            "baseExpression": {
                                                                "argumentTypes": null,
                                                                "baseExpression": {
                                                                    "argumentTypes": null,
                                                                    "id": 1442,
                                                                    "name": "transactions",
                                                                    "nodeType": "Identifier",
                                                                    "overloadedDeclarations": [],
                                                                    "referencedDeclaration": 614,
                                                                    "src": "13722:12:7",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_mapping$_t_bytes32_$_t_array$_t_struct$_transaction_$367_storage_$dyn_storage_$",
                                                                        "typeString": "mapping(bytes32 => struct IVault.transaction storage ref[] storage ref)"
                                                                    }
                                                                },
                                                                "id": 1444,
                                                                "indexExpression": {
                                                                    "argumentTypes": null,
                                                                    "id": 1443,
                                                                    "name": "_creator",
                                                                    "nodeType": "Identifier",
                                                                    "overloadedDeclarations": [],
                                                                    "referencedDeclaration": 1390,
                                                                    "src": "13735:8:7",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_bytes32",
                                                                        "typeString": "bytes32"
                                                                    }
                                                                },
                                                                "isConstant": false,
                                                                "isLValue": true,
                                                                "isPure": false,
                                                                "lValueRequested": false,
                                                                "nodeType": "IndexAccess",
                                                                "src": "13722:22:7",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_array$_t_struct$_transaction_$367_storage_$dyn_storage",
                                                                    "typeString": "struct IVault.transaction storage ref[] storage ref"
                                                                }
                                                            },
                                                            "id": 1446,
                                                            "indexExpression": {
                                                                "argumentTypes": null,
                                                                "id": 1445,
                                                                "name": "i",
                                                                "nodeType": "Identifier",
                                                                "overloadedDeclarations": [],
                                                                "referencedDeclaration": 1430,
                                                                "src": "13745:1:7",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_uint256",
                                                                    "typeString": "uint256"
                                                                }
                                                            },
                                                            "isConstant": false,
                                                            "isLValue": true,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "nodeType": "IndexAccess",
                                                            "src": "13722:25:7",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_struct$_transaction_$367_storage",
                                                                "typeString": "struct IVault.transaction storage ref"
                                                            }
                                                        },
                                                        "id": 1447,
                                                        "isConstant": false,
                                                        "isLValue": true,
                                                        "isPure": false,
                                                        "lValueRequested": false,
                                                        "memberName": "datetime",
                                                        "nodeType": "MemberAccess",
                                                        "referencedDeclaration": 363,
                                                        "src": "13722:34:7",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    "nodeType": "BinaryOperation",
                                                    "operator": "==",
                                                    "rightExpression": {
                                                        "argumentTypes": null,
                                                        "id": 1448,
                                                        "name": "_txid",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 1396,
                                                        "src": "13758:5:7",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    "src": "13722:41:7",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_bool",
                                                        "typeString": "bool"
                                                    }
                                                },
                                                "falseBody": null,
                                                "id": 1499,
                                                "nodeType": "IfStatement",
                                                "src": "13719:462:7",
                                                "trueBody": {
                                                    "id": 1498,
                                                    "nodeType": "Block",
                                                    "src": "13764:417:7",
                                                    "statements": [
                                                        {
                                                            "assignments": [
                                                                1451
                                                            ],
                                                            "declarations": [
                                                                {
                                                                    "constant": false,
                                                                    "id": 1451,
                                                                    "name": "signedCount",
                                                                    "nodeType": "VariableDeclaration",
                                                                    "scope": 1498,
                                                                    "src": "13783:19:7",
                                                                    "stateVariable": false,
                                                                    "storageLocation": "default",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_uint256",
                                                                        "typeString": "uint256"
                                                                    },
                                                                    "typeName": {
                                                                        "id": 1450,
                                                                        "name": "uint256",
                                                                        "nodeType": "ElementaryTypeName",
                                                                        "src": "13783:7:7",
                                                                        "typeDescriptions": {
                                                                            "typeIdentifier": "t_uint256",
                                                                            "typeString": "uint256"
                                                                        }
                                                                    },
                                                                    "value": null,
                                                                    "visibility": "internal"
                                                                }
                                                            ],
                                                            "id": 1453,
                                                            "initialValue": {
                                                                "argumentTypes": null,
                                                                "hexValue": "30",
                                                                "id": 1452,
                                                                "isConstant": false,
                                                                "isLValue": false,
                                                                "isPure": true,
                                                                "kind": "number",
                                                                "lValueRequested": false,
                                                                "nodeType": "Literal",
                                                                "src": "13805:1:7",
                                                                "subdenomination": null,
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_rational_0_by_1",
                                                                    "typeString": "int_const 0"
                                                                },
                                                                "value": "0"
                                                            },
                                                            "nodeType": "VariableDeclarationStatement",
                                                            "src": "13783:23:7"
                                                        },
                                                        {
                                                            "body": {
                                                                "id": 1485,
                                                                "nodeType": "Block",
                                                                "src": "13898:156:7",
                                                                "statements": [
                                                                    {
                                                                        "condition": {
                                                                            "argumentTypes": null,
                                                                            "commonType": {
                                                                                "typeIdentifier": "t_bytes32",
                                                                                "typeString": "bytes32"
                                                                            },
                                                                            "id": 1479,
                                                                            "isConstant": false,
                                                                            "isLValue": false,
                                                                            "isPure": false,
                                                                            "lValueRequested": false,
                                                                            "leftExpression": {
                                                                                "argumentTypes": null,
                                                                                "baseExpression": {
                                                                                    "argumentTypes": null,
                                                                                    "expression": {
                                                                                        "argumentTypes": null,
                                                                                        "baseExpression": {
                                                                                            "argumentTypes": null,
                                                                                            "baseExpression": {
                                                                                                "argumentTypes": null,
                                                                                                "id": 1470,
                                                                                                "name": "transactions",
                                                                                                "nodeType": "Identifier",
                                                                                                "overloadedDeclarations": [],
                                                                                                "referencedDeclaration": 614,
                                                                                                "src": "13925:12:7",
                                                                                                "typeDescriptions": {
                                                                                                    "typeIdentifier": "t_mapping$_t_bytes32_$_t_array$_t_struct$_transaction_$367_storage_$dyn_storage_$",
                                                                                                    "typeString": "mapping(bytes32 => struct IVault.transaction storage ref[] storage ref)"
                                                                                                }
                                                                                            },
                                                                                            "id": 1472,
                                                                                            "indexExpression": {
                                                                                                "argumentTypes": null,
                                                                                                "id": 1471,
                                                                                                "name": "_creator",
                                                                                                "nodeType": "Identifier",
                                                                                                "overloadedDeclarations": [],
                                                                                                "referencedDeclaration": 1390,
                                                                                                "src": "13938:8:7",
                                                                                                "typeDescriptions": {
                                                                                                    "typeIdentifier": "t_bytes32",
                                                                                                    "typeString": "bytes32"
                                                                                                }
                                                                                            },
                                                                                            "isConstant": false,
                                                                                            "isLValue": true,
                                                                                            "isPure": false,
                                                                                            "lValueRequested": false,
                                                                                            "nodeType": "IndexAccess",
                                                                                            "src": "13925:22:7",
                                                                                            "typeDescriptions": {
                                                                                                "typeIdentifier": "t_array$_t_struct$_transaction_$367_storage_$dyn_storage",
                                                                                                "typeString": "struct IVault.transaction storage ref[] storage ref"
                                                                                            }
                                                                                        },
                                                                                        "id": 1474,
                                                                                        "indexExpression": {
                                                                                            "argumentTypes": null,
                                                                                            "id": 1473,
                                                                                            "name": "i",
                                                                                            "nodeType": "Identifier",
                                                                                            "overloadedDeclarations": [],
                                                                                            "referencedDeclaration": 1430,
                                                                                            "src": "13948:1:7",
                                                                                            "typeDescriptions": {
                                                                                                "typeIdentifier": "t_uint256",
                                                                                                "typeString": "uint256"
                                                                                            }
                                                                                        },
                                                                                        "isConstant": false,
                                                                                        "isLValue": true,
                                                                                        "isPure": false,
                                                                                        "lValueRequested": false,
                                                                                        "nodeType": "IndexAccess",
                                                                                        "src": "13925:25:7",
                                                                                        "typeDescriptions": {
                                                                                            "typeIdentifier": "t_struct$_transaction_$367_storage",
                                                                                            "typeString": "struct IVault.transaction storage ref"
                                                                                        }
                                                                                    },
                                                                                    "id": 1475,
                                                                                    "isConstant": false,
                                                                                    "isLValue": true,
                                                                                    "isPure": false,
                                                                                    "lValueRequested": false,
                                                                                    "memberName": "cosigners",
                                                                                    "nodeType": "MemberAccess",
                                                                                    "referencedDeclaration": 366,
                                                                                    "src": "13925:35:7",
                                                                                    "typeDescriptions": {
                                                                                        "typeIdentifier": "t_array$_t_bytes32_$dyn_storage",
                                                                                        "typeString": "bytes32[] storage ref"
                                                                                    }
                                                                                },
                                                                                "id": 1477,
                                                                                "indexExpression": {
                                                                                    "argumentTypes": null,
                                                                                    "id": 1476,
                                                                                    "name": "j",
                                                                                    "nodeType": "Identifier",
                                                                                    "overloadedDeclarations": [],
                                                                                    "referencedDeclaration": 1455,
                                                                                    "src": "13961:1:7",
                                                                                    "typeDescriptions": {
                                                                                        "typeIdentifier": "t_uint256",
                                                                                        "typeString": "uint256"
                                                                                    }
                                                                                },
                                                                                "isConstant": false,
                                                                                "isLValue": true,
                                                                                "isPure": false,
                                                                                "lValueRequested": false,
                                                                                "nodeType": "IndexAccess",
                                                                                "src": "13925:38:7",
                                                                                "typeDescriptions": {
                                                                                    "typeIdentifier": "t_bytes32",
                                                                                    "typeString": "bytes32"
                                                                                }
                                                                            },
                                                                            "nodeType": "BinaryOperation",
                                                                            "operator": "!=",
                                                                            "rightExpression": {
                                                                                "argumentTypes": null,
                                                                                "hexValue": "",
                                                                                "id": 1478,
                                                                                "isConstant": false,
                                                                                "isLValue": false,
                                                                                "isPure": true,
                                                                                "kind": "string",
                                                                                "lValueRequested": false,
                                                                                "nodeType": "Literal",
                                                                                "src": "13967:2:7",
                                                                                "subdenomination": null,
                                                                                "typeDescriptions": {
                                                                                    "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
                                                                                    "typeString": "literal_string \"\""
                                                                                },
                                                                                "value": ""
                                                                            },
                                                                            "src": "13925:44:7",
                                                                            "typeDescriptions": {
                                                                                "typeIdentifier": "t_bool",
                                                                                "typeString": "bool"
                                                                            }
                                                                        },
                                                                        "falseBody": null,
                                                                        "id": 1484,
                                                                        "nodeType": "IfStatement",
                                                                        "src": "13921:114:7",
                                                                        "trueBody": {
                                                                            "id": 1483,
                                                                            "nodeType": "Block",
                                                                            "src": "13971:64:7",
                                                                            "statements": [
                                                                                {
                                                                                    "expression": {
                                                                                        "argumentTypes": null,
                                                                                        "id": 1481,
                                                                                        "isConstant": false,
                                                                                        "isLValue": false,
                                                                                        "isPure": false,
                                                                                        "lValueRequested": false,
                                                                                        "nodeType": "UnaryOperation",
                                                                                        "operator": "++",
                                                                                        "prefix": false,
                                                                                        "src": "13998:13:7",
                                                                                        "subExpression": {
                                                                                            "argumentTypes": null,
                                                                                            "id": 1480,
                                                                                            "name": "signedCount",
                                                                                            "nodeType": "Identifier",
                                                                                            "overloadedDeclarations": [],
                                                                                            "referencedDeclaration": 1451,
                                                                                            "src": "13998:11:7",
                                                                                            "typeDescriptions": {
                                                                                                "typeIdentifier": "t_uint256",
                                                                                                "typeString": "uint256"
                                                                                            }
                                                                                        },
                                                                                        "typeDescriptions": {
                                                                                            "typeIdentifier": "t_uint256",
                                                                                            "typeString": "uint256"
                                                                                        }
                                                                                    },
                                                                                    "id": 1482,
                                                                                    "nodeType": "ExpressionStatement",
                                                                                    "src": "13998:13:7"
                                                                                }
                                                                            ]
                                                                        }
                                                                    }
                                                                ]
                                                            },
                                                            "condition": {
                                                                "argumentTypes": null,
                                                                "commonType": {
                                                                    "typeIdentifier": "t_uint256",
                                                                    "typeString": "uint256"
                                                                },
                                                                "id": 1466,
                                                                "isConstant": false,
                                                                "isLValue": false,
                                                                "isPure": false,
                                                                "lValueRequested": false,
                                                                "leftExpression": {
                                                                    "argumentTypes": null,
                                                                    "id": 1458,
                                                                    "name": "j",
                                                                    "nodeType": "Identifier",
                                                                    "overloadedDeclarations": [],
                                                                    "referencedDeclaration": 1455,
                                                                    "src": "13845:1:7",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_uint256",
                                                                        "typeString": "uint256"
                                                                    }
                                                                },
                                                                "nodeType": "BinaryOperation",
                                                                "operator": "<",
                                                                "rightExpression": {
                                                                    "argumentTypes": null,
                                                                    "expression": {
                                                                        "argumentTypes": null,
                                                                        "expression": {
                                                                            "argumentTypes": null,
                                                                            "baseExpression": {
                                                                                "argumentTypes": null,
                                                                                "baseExpression": {
                                                                                    "argumentTypes": null,
                                                                                    "id": 1459,
                                                                                    "name": "transactions",
                                                                                    "nodeType": "Identifier",
                                                                                    "overloadedDeclarations": [],
                                                                                    "referencedDeclaration": 614,
                                                                                    "src": "13849:12:7",
                                                                                    "typeDescriptions": {
                                                                                        "typeIdentifier": "t_mapping$_t_bytes32_$_t_array$_t_struct$_transaction_$367_storage_$dyn_storage_$",
                                                                                        "typeString": "mapping(bytes32 => struct IVault.transaction storage ref[] storage ref)"
                                                                                    }
                                                                                },
                                                                                "id": 1461,
                                                                                "indexExpression": {
                                                                                    "argumentTypes": null,
                                                                                    "id": 1460,
                                                                                    "name": "_creator",
                                                                                    "nodeType": "Identifier",
                                                                                    "overloadedDeclarations": [],
                                                                                    "referencedDeclaration": 1390,
                                                                                    "src": "13862:8:7",
                                                                                    "typeDescriptions": {
                                                                                        "typeIdentifier": "t_bytes32",
                                                                                        "typeString": "bytes32"
                                                                                    }
                                                                                },
                                                                                "isConstant": false,
                                                                                "isLValue": true,
                                                                                "isPure": false,
                                                                                "lValueRequested": false,
                                                                                "nodeType": "IndexAccess",
                                                                                "src": "13849:22:7",
                                                                                "typeDescriptions": {
                                                                                    "typeIdentifier": "t_array$_t_struct$_transaction_$367_storage_$dyn_storage",
                                                                                    "typeString": "struct IVault.transaction storage ref[] storage ref"
                                                                                }
                                                                            },
                                                                            "id": 1463,
                                                                            "indexExpression": {
                                                                                "argumentTypes": null,
                                                                                "id": 1462,
                                                                                "name": "i",
                                                                                "nodeType": "Identifier",
                                                                                "overloadedDeclarations": [],
                                                                                "referencedDeclaration": 1430,
                                                                                "src": "13872:1:7",
                                                                                "typeDescriptions": {
                                                                                    "typeIdentifier": "t_uint256",
                                                                                    "typeString": "uint256"
                                                                                }
                                                                            },
                                                                            "isConstant": false,
                                                                            "isLValue": true,
                                                                            "isPure": false,
                                                                            "lValueRequested": false,
                                                                            "nodeType": "IndexAccess",
                                                                            "src": "13849:25:7",
                                                                            "typeDescriptions": {
                                                                                "typeIdentifier": "t_struct$_transaction_$367_storage",
                                                                                "typeString": "struct IVault.transaction storage ref"
                                                                            }
                                                                        },
                                                                        "id": 1464,
                                                                        "isConstant": false,
                                                                        "isLValue": true,
                                                                        "isPure": false,
                                                                        "lValueRequested": false,
                                                                        "memberName": "cosigners",
                                                                        "nodeType": "MemberAccess",
                                                                        "referencedDeclaration": 366,
                                                                        "src": "13849:35:7",
                                                                        "typeDescriptions": {
                                                                            "typeIdentifier": "t_array$_t_bytes32_$dyn_storage",
                                                                            "typeString": "bytes32[] storage ref"
                                                                        }
                                                                    },
                                                                    "id": 1465,
                                                                    "isConstant": false,
                                                                    "isLValue": true,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "memberName": "length",
                                                                    "nodeType": "MemberAccess",
                                                                    "referencedDeclaration": null,
                                                                    "src": "13849:42:7",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_uint256",
                                                                        "typeString": "uint256"
                                                                    }
                                                                },
                                                                "src": "13845:46:7",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_bool",
                                                                    "typeString": "bool"
                                                                }
                                                            },
                                                            "id": 1486,
                                                            "initializationExpression": {
                                                                "assignments": [
                                                                    1455
                                                                ],
                                                                "declarations": [
                                                                    {
                                                                        "constant": false,
                                                                        "id": 1455,
                                                                        "name": "j",
                                                                        "nodeType": "VariableDeclaration",
                                                                        "scope": 1486,
                                                                        "src": "13830:9:7",
                                                                        "stateVariable": false,
                                                                        "storageLocation": "default",
                                                                        "typeDescriptions": {
                                                                            "typeIdentifier": "t_uint256",
                                                                            "typeString": "uint256"
                                                                        },
                                                                        "typeName": {
                                                                            "id": 1454,
                                                                            "name": "uint256",
                                                                            "nodeType": "ElementaryTypeName",
                                                                            "src": "13830:7:7",
                                                                            "typeDescriptions": {
                                                                                "typeIdentifier": "t_uint256",
                                                                                "typeString": "uint256"
                                                                            }
                                                                        },
                                                                        "value": null,
                                                                        "visibility": "internal"
                                                                    }
                                                                ],
                                                                "id": 1457,
                                                                "initialValue": {
                                                                    "argumentTypes": null,
                                                                    "hexValue": "30",
                                                                    "id": 1456,
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": true,
                                                                    "kind": "number",
                                                                    "lValueRequested": false,
                                                                    "nodeType": "Literal",
                                                                    "src": "13842:1:7",
                                                                    "subdenomination": null,
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_rational_0_by_1",
                                                                        "typeString": "int_const 0"
                                                                    },
                                                                    "value": "0"
                                                                },
                                                                "nodeType": "VariableDeclarationStatement",
                                                                "src": "13830:13:7"
                                                            },
                                                            "loopExpression": {
                                                                "expression": {
                                                                    "argumentTypes": null,
                                                                    "id": 1468,
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "nodeType": "UnaryOperation",
                                                                    "operator": "++",
                                                                    "prefix": false,
                                                                    "src": "13893:3:7",
                                                                    "subExpression": {
                                                                        "argumentTypes": null,
                                                                        "id": 1467,
                                                                        "name": "j",
                                                                        "nodeType": "Identifier",
                                                                        "overloadedDeclarations": [],
                                                                        "referencedDeclaration": 1455,
                                                                        "src": "13893:1:7",
                                                                        "typeDescriptions": {
                                                                            "typeIdentifier": "t_uint256",
                                                                            "typeString": "uint256"
                                                                        }
                                                                    },
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_uint256",
                                                                        "typeString": "uint256"
                                                                    }
                                                                },
                                                                "id": 1469,
                                                                "nodeType": "ExpressionStatement",
                                                                "src": "13893:3:7"
                                                            },
                                                            "nodeType": "ForStatement",
                                                            "src": "13825:229:7"
                                                        },
                                                        {
                                                            "condition": {
                                                                "argumentTypes": null,
                                                                "commonType": {
                                                                    "typeIdentifier": "t_uint256",
                                                                    "typeString": "uint256"
                                                                },
                                                                "id": 1491,
                                                                "isConstant": false,
                                                                "isLValue": false,
                                                                "isPure": false,
                                                                "lValueRequested": false,
                                                                "leftExpression": {
                                                                    "argumentTypes": null,
                                                                    "id": 1487,
                                                                    "name": "signedCount",
                                                                    "nodeType": "Identifier",
                                                                    "overloadedDeclarations": [],
                                                                    "referencedDeclaration": 1451,
                                                                    "src": "14076:11:7",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_uint256",
                                                                        "typeString": "uint256"
                                                                    }
                                                                },
                                                                "nodeType": "BinaryOperation",
                                                                "operator": ">=",
                                                                "rightExpression": {
                                                                    "argumentTypes": null,
                                                                    "baseExpression": {
                                                                        "argumentTypes": null,
                                                                        "id": 1488,
                                                                        "name": "quorum",
                                                                        "nodeType": "Identifier",
                                                                        "overloadedDeclarations": [],
                                                                        "referencedDeclaration": 609,
                                                                        "src": "14091:6:7",
                                                                        "typeDescriptions": {
                                                                            "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
                                                                            "typeString": "mapping(bytes32 => uint256)"
                                                                        }
                                                                    },
                                                                    "id": 1490,
                                                                    "indexExpression": {
                                                                        "argumentTypes": null,
                                                                        "id": 1489,
                                                                        "name": "_creator",
                                                                        "nodeType": "Identifier",
                                                                        "overloadedDeclarations": [],
                                                                        "referencedDeclaration": 1390,
                                                                        "src": "14098:8:7",
                                                                        "typeDescriptions": {
                                                                            "typeIdentifier": "t_bytes32",
                                                                            "typeString": "bytes32"
                                                                        }
                                                                    },
                                                                    "isConstant": false,
                                                                    "isLValue": true,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "nodeType": "IndexAccess",
                                                                    "src": "14091:16:7",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_uint256",
                                                                        "typeString": "uint256"
                                                                    }
                                                                },
                                                                "src": "14076:31:7",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_bool",
                                                                    "typeString": "bool"
                                                                }
                                                            },
                                                            "falseBody": null,
                                                            "id": 1497,
                                                            "nodeType": "IfStatement",
                                                            "src": "14072:94:7",
                                                            "trueBody": {
                                                                "id": 1496,
                                                                "nodeType": "Block",
                                                                "src": "14109:57:7",
                                                                "statements": [
                                                                    {
                                                                        "expression": {
                                                                            "argumentTypes": null,
                                                                            "id": 1494,
                                                                            "isConstant": false,
                                                                            "isLValue": false,
                                                                            "isPure": false,
                                                                            "lValueRequested": false,
                                                                            "leftHandSide": {
                                                                                "argumentTypes": null,
                                                                                "id": 1492,
                                                                                "name": "_quorum",
                                                                                "nodeType": "Identifier",
                                                                                "overloadedDeclarations": [],
                                                                                "referencedDeclaration": 1426,
                                                                                "src": "14132:7:7",
                                                                                "typeDescriptions": {
                                                                                    "typeIdentifier": "t_bool",
                                                                                    "typeString": "bool"
                                                                                }
                                                                            },
                                                                            "nodeType": "Assignment",
                                                                            "operator": "=",
                                                                            "rightHandSide": {
                                                                                "argumentTypes": null,
                                                                                "hexValue": "74727565",
                                                                                "id": 1493,
                                                                                "isConstant": false,
                                                                                "isLValue": false,
                                                                                "isPure": true,
                                                                                "kind": "bool",
                                                                                "lValueRequested": false,
                                                                                "nodeType": "Literal",
                                                                                "src": "14142:4:7",
                                                                                "subdenomination": null,
                                                                                "typeDescriptions": {
                                                                                    "typeIdentifier": "t_bool",
                                                                                    "typeString": "bool"
                                                                                },
                                                                                "value": "true"
                                                                            },
                                                                            "src": "14132:14:7",
                                                                            "typeDescriptions": {
                                                                                "typeIdentifier": "t_bool",
                                                                                "typeString": "bool"
                                                                            }
                                                                        },
                                                                        "id": 1495,
                                                                        "nodeType": "ExpressionStatement",
                                                                        "src": "14132:14:7"
                                                                    }
                                                                ]
                                                            }
                                                        }
                                                    ]
                                                }
                                            }
                                        ]
                                    },
                                    "condition": {
                                        "argumentTypes": null,
                                        "commonType": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        },
                                        "id": 1438,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "leftExpression": {
                                            "argumentTypes": null,
                                            "id": 1433,
                                            "name": "i",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 1430,
                                            "src": "13667:1:7",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                            }
                                        },
                                        "nodeType": "BinaryOperation",
                                        "operator": "<",
                                        "rightExpression": {
                                            "argumentTypes": null,
                                            "expression": {
                                                "argumentTypes": null,
                                                "baseExpression": {
                                                    "argumentTypes": null,
                                                    "id": 1434,
                                                    "name": "transactions",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 614,
                                                    "src": "13669:12:7",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_mapping$_t_bytes32_$_t_array$_t_struct$_transaction_$367_storage_$dyn_storage_$",
                                                        "typeString": "mapping(bytes32 => struct IVault.transaction storage ref[] storage ref)"
                                                    }
                                                },
                                                "id": 1436,
                                                "indexExpression": {
                                                    "argumentTypes": null,
                                                    "id": 1435,
                                                    "name": "_creator",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 1390,
                                                    "src": "13682:8:7",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_bytes32",
                                                        "typeString": "bytes32"
                                                    }
                                                },
                                                "isConstant": false,
                                                "isLValue": true,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "nodeType": "IndexAccess",
                                                "src": "13669:22:7",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_array$_t_struct$_transaction_$367_storage_$dyn_storage",
                                                    "typeString": "struct IVault.transaction storage ref[] storage ref"
                                                }
                                            },
                                            "id": 1437,
                                            "isConstant": false,
                                            "isLValue": true,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "memberName": "length",
                                            "nodeType": "MemberAccess",
                                            "referencedDeclaration": null,
                                            "src": "13669:29:7",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                            }
                                        },
                                        "src": "13667:31:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "id": 1501,
                                    "initializationExpression": {
                                        "assignments": [
                                            1430
                                        ],
                                        "declarations": [
                                            {
                                                "constant": false,
                                                "id": 1430,
                                                "name": "i",
                                                "nodeType": "VariableDeclaration",
                                                "scope": 1501,
                                                "src": "13657:6:7",
                                                "stateVariable": false,
                                                "storageLocation": "default",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                },
                                                "typeName": {
                                                    "id": 1429,
                                                    "name": "uint",
                                                    "nodeType": "ElementaryTypeName",
                                                    "src": "13657:4:7",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_uint256",
                                                        "typeString": "uint256"
                                                    }
                                                },
                                                "value": null,
                                                "visibility": "internal"
                                            }
                                        ],
                                        "id": 1432,
                                        "initialValue": {
                                            "argumentTypes": null,
                                            "hexValue": "30",
                                            "id": 1431,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": true,
                                            "kind": "number",
                                            "lValueRequested": false,
                                            "nodeType": "Literal",
                                            "src": "13664:1:7",
                                            "subdenomination": null,
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_rational_0_by_1",
                                                "typeString": "int_const 0"
                                            },
                                            "value": "0"
                                        },
                                        "nodeType": "VariableDeclarationStatement",
                                        "src": "13657:8:7"
                                    },
                                    "loopExpression": {
                                        "expression": {
                                            "argumentTypes": null,
                                            "id": 1440,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "nodeType": "UnaryOperation",
                                            "operator": "++",
                                            "prefix": false,
                                            "src": "13700:3:7",
                                            "subExpression": {
                                                "argumentTypes": null,
                                                "id": 1439,
                                                "name": "i",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 1430,
                                                "src": "13700:1:7",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                }
                                            },
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                            }
                                        },
                                        "id": 1441,
                                        "nodeType": "ExpressionStatement",
                                        "src": "13700:3:7"
                                    },
                                    "nodeType": "ForStatement",
                                    "src": "13653:539:7"
                                },
                                {
                                    "condition": {
                                        "argumentTypes": null,
                                        "id": 1502,
                                        "name": "_quorum",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 1426,
                                        "src": "14213:7:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "falseBody": {
                                        "expression": {
                                            "argumentTypes": null,
                                            "hexValue": "66616c7365",
                                            "id": 1505,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": true,
                                            "kind": "bool",
                                            "lValueRequested": false,
                                            "nodeType": "Literal",
                                            "src": "14282:5:7",
                                            "subdenomination": null,
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_bool",
                                                "typeString": "bool"
                                            },
                                            "value": "false"
                                        },
                                        "functionReturnParameters": 1404,
                                        "id": 1506,
                                        "nodeType": "Return",
                                        "src": "14275:12:7"
                                    },
                                    "id": 1507,
                                    "nodeType": "IfStatement",
                                    "src": "14210:77:7",
                                    "trueBody": {
                                        "expression": {
                                            "argumentTypes": null,
                                            "hexValue": "74727565",
                                            "id": 1503,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": true,
                                            "kind": "bool",
                                            "lValueRequested": false,
                                            "nodeType": "Literal",
                                            "src": "14242:4:7",
                                            "subdenomination": null,
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_bool",
                                                "typeString": "bool"
                                            },
                                            "value": "true"
                                        },
                                        "functionReturnParameters": 1404,
                                        "id": 1504,
                                        "nodeType": "Return",
                                        "src": "14235:11:7"
                                    }
                                }
                            ]
                        },
                        "documentation": "This function lets the creator check if quorum has been achieved for a particular transaction\r\n@param _creator vault creator's username, eg creator@email.com\r\n@param _id vault creator's unique id using which it can be reached, eg, its Google/APNS token\r\n@param _participant vault participant's username, eg participant@email.com\r\n@param _txid transaction identifier\r",
                        "id": 1509,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [
                            {
                                "arguments": [
                                    {
                                        "argumentTypes": null,
                                        "id": 1399,
                                        "name": "_creator",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 1390,
                                        "src": "13459:8:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                        }
                                    },
                                    {
                                        "argumentTypes": null,
                                        "id": 1400,
                                        "name": "_id",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 1392,
                                        "src": "13469:3:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_calldata_ptr",
                                            "typeString": "string calldata"
                                        }
                                    }
                                ],
                                "id": 1401,
                                "modifierName": {
                                    "argumentTypes": null,
                                    "id": 1398,
                                    "name": "onlySigner",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 695,
                                    "src": "13448:10:7",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_modifier$_t_bytes32_$_t_string_memory_ptr_$",
                                        "typeString": "modifier (bytes32,string memory)"
                                    }
                                },
                                "nodeType": "ModifierInvocation",
                                "src": "13448:25:7"
                            }
                        ],
                        "name": "checkQuorum",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 1397,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 1390,
                                    "name": "_creator",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 1509,
                                    "src": "13372:16:7",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes32",
                                        "typeString": "bytes32"
                                    },
                                    "typeName": {
                                        "id": 1389,
                                        "name": "bytes32",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "13372:7:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 1392,
                                    "name": "_id",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 1509,
                                    "src": "13390:19:7",
                                    "stateVariable": false,
                                    "storageLocation": "calldata",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_calldata_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 1391,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "13390:6:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 1394,
                                    "name": "_participant",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 1509,
                                    "src": "13411:20:7",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes32",
                                        "typeString": "bytes32"
                                    },
                                    "typeName": {
                                        "id": 1393,
                                        "name": "bytes32",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "13411:7:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 1396,
                                    "name": "_txid",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 1509,
                                    "src": "13433:13:7",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 1395,
                                        "name": "uint256",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "13433:7:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                }
                            ],
                            "src": "13371:76:7"
                        },
                        "returnParameters": {
                            "id": 1404,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 1403,
                                    "name": "",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 1509,
                                    "src": "13496:4:7",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 1402,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "13496:4:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                }
                            ],
                            "src": "13495:6:7"
                        },
                        "scope": 1949,
                        "src": "13351:944:7",
                        "stateMutability": "view",
                        "superFunction": 476,
                        "visibility": "external"
                    },
                    {
                        "body": {
                            "id": 1616,
                            "nodeType": "Block",
                            "src": "14739:695:7",
                            "statements": [
                                {
                                    "body": {
                                        "id": 1614,
                                        "nodeType": "Block",
                                        "src": "14801:626:7",
                                        "statements": [
                                            {
                                                "condition": {
                                                    "argumentTypes": null,
                                                    "commonType": {
                                                        "typeIdentifier": "t_uint256",
                                                        "typeString": "uint256"
                                                    },
                                                    "id": 1545,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "leftExpression": {
                                                        "argumentTypes": null,
                                                        "expression": {
                                                            "argumentTypes": null,
                                                            "baseExpression": {
                                                                "argumentTypes": null,
                                                                "baseExpression": {
                                                                    "argumentTypes": null,
                                                                    "id": 1538,
                                                                    "name": "transactions",
                                                                    "nodeType": "Identifier",
                                                                    "overloadedDeclarations": [],
                                                                    "referencedDeclaration": 614,
                                                                    "src": "14819:12:7",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_mapping$_t_bytes32_$_t_array$_t_struct$_transaction_$367_storage_$dyn_storage_$",
                                                                        "typeString": "mapping(bytes32 => struct IVault.transaction storage ref[] storage ref)"
                                                                    }
                                                                },
                                                                "id": 1540,
                                                                "indexExpression": {
                                                                    "argumentTypes": null,
                                                                    "id": 1539,
                                                                    "name": "_creator",
                                                                    "nodeType": "Identifier",
                                                                    "overloadedDeclarations": [],
                                                                    "referencedDeclaration": 1511,
                                                                    "src": "14832:8:7",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_bytes32",
                                                                        "typeString": "bytes32"
                                                                    }
                                                                },
                                                                "isConstant": false,
                                                                "isLValue": true,
                                                                "isPure": false,
                                                                "lValueRequested": false,
                                                                "nodeType": "IndexAccess",
                                                                "src": "14819:22:7",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_array$_t_struct$_transaction_$367_storage_$dyn_storage",
                                                                    "typeString": "struct IVault.transaction storage ref[] storage ref"
                                                                }
                                                            },
                                                            "id": 1542,
                                                            "indexExpression": {
                                                                "argumentTypes": null,
                                                                "id": 1541,
                                                                "name": "i",
                                                                "nodeType": "Identifier",
                                                                "overloadedDeclarations": [],
                                                                "referencedDeclaration": 1526,
                                                                "src": "14842:1:7",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_uint256",
                                                                    "typeString": "uint256"
                                                                }
                                                            },
                                                            "isConstant": false,
                                                            "isLValue": true,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "nodeType": "IndexAccess",
                                                            "src": "14819:25:7",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_struct$_transaction_$367_storage",
                                                                "typeString": "struct IVault.transaction storage ref"
                                                            }
                                                        },
                                                        "id": 1543,
                                                        "isConstant": false,
                                                        "isLValue": true,
                                                        "isPure": false,
                                                        "lValueRequested": false,
                                                        "memberName": "datetime",
                                                        "nodeType": "MemberAccess",
                                                        "referencedDeclaration": 363,
                                                        "src": "14819:34:7",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    "nodeType": "BinaryOperation",
                                                    "operator": "==",
                                                    "rightExpression": {
                                                        "argumentTypes": null,
                                                        "id": 1544,
                                                        "name": "_txid",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 1515,
                                                        "src": "14855:5:7",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    "src": "14819:41:7",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_bool",
                                                        "typeString": "bool"
                                                    }
                                                },
                                                "falseBody": null,
                                                "id": 1613,
                                                "nodeType": "IfStatement",
                                                "src": "14816:600:7",
                                                "trueBody": {
                                                    "id": 1612,
                                                    "nodeType": "Block",
                                                    "src": "14861:555:7",
                                                    "statements": [
                                                        {
                                                            "condition": {
                                                                "argumentTypes": null,
                                                                "commonType": {
                                                                    "typeIdentifier": "t_uint256",
                                                                    "typeString": "uint256"
                                                                },
                                                                "id": 1556,
                                                                "isConstant": false,
                                                                "isLValue": false,
                                                                "isPure": false,
                                                                "lValueRequested": false,
                                                                "leftExpression": {
                                                                    "argumentTypes": null,
                                                                    "expression": {
                                                                        "argumentTypes": null,
                                                                        "expression": {
                                                                            "argumentTypes": null,
                                                                            "baseExpression": {
                                                                                "argumentTypes": null,
                                                                                "baseExpression": {
                                                                                    "argumentTypes": null,
                                                                                    "id": 1546,
                                                                                    "name": "transactions",
                                                                                    "nodeType": "Identifier",
                                                                                    "overloadedDeclarations": [],
                                                                                    "referencedDeclaration": 614,
                                                                                    "src": "14883:12:7",
                                                                                    "typeDescriptions": {
                                                                                        "typeIdentifier": "t_mapping$_t_bytes32_$_t_array$_t_struct$_transaction_$367_storage_$dyn_storage_$",
                                                                                        "typeString": "mapping(bytes32 => struct IVault.transaction storage ref[] storage ref)"
                                                                                    }
                                                                                },
                                                                                "id": 1548,
                                                                                "indexExpression": {
                                                                                    "argumentTypes": null,
                                                                                    "id": 1547,
                                                                                    "name": "_creator",
                                                                                    "nodeType": "Identifier",
                                                                                    "overloadedDeclarations": [],
                                                                                    "referencedDeclaration": 1511,
                                                                                    "src": "14896:8:7",
                                                                                    "typeDescriptions": {
                                                                                        "typeIdentifier": "t_bytes32",
                                                                                        "typeString": "bytes32"
                                                                                    }
                                                                                },
                                                                                "isConstant": false,
                                                                                "isLValue": true,
                                                                                "isPure": false,
                                                                                "lValueRequested": false,
                                                                                "nodeType": "IndexAccess",
                                                                                "src": "14883:22:7",
                                                                                "typeDescriptions": {
                                                                                    "typeIdentifier": "t_array$_t_struct$_transaction_$367_storage_$dyn_storage",
                                                                                    "typeString": "struct IVault.transaction storage ref[] storage ref"
                                                                                }
                                                                            },
                                                                            "id": 1550,
                                                                            "indexExpression": {
                                                                                "argumentTypes": null,
                                                                                "id": 1549,
                                                                                "name": "i",
                                                                                "nodeType": "Identifier",
                                                                                "overloadedDeclarations": [],
                                                                                "referencedDeclaration": 1526,
                                                                                "src": "14906:1:7",
                                                                                "typeDescriptions": {
                                                                                    "typeIdentifier": "t_uint256",
                                                                                    "typeString": "uint256"
                                                                                }
                                                                            },
                                                                            "isConstant": false,
                                                                            "isLValue": true,
                                                                            "isPure": false,
                                                                            "lValueRequested": false,
                                                                            "nodeType": "IndexAccess",
                                                                            "src": "14883:25:7",
                                                                            "typeDescriptions": {
                                                                                "typeIdentifier": "t_struct$_transaction_$367_storage",
                                                                                "typeString": "struct IVault.transaction storage ref"
                                                                            }
                                                                        },
                                                                        "id": 1551,
                                                                        "isConstant": false,
                                                                        "isLValue": true,
                                                                        "isPure": false,
                                                                        "lValueRequested": false,
                                                                        "memberName": "cosigners",
                                                                        "nodeType": "MemberAccess",
                                                                        "referencedDeclaration": 366,
                                                                        "src": "14883:35:7",
                                                                        "typeDescriptions": {
                                                                            "typeIdentifier": "t_array$_t_bytes32_$dyn_storage",
                                                                            "typeString": "bytes32[] storage ref"
                                                                        }
                                                                    },
                                                                    "id": 1552,
                                                                    "isConstant": false,
                                                                    "isLValue": true,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "memberName": "length",
                                                                    "nodeType": "MemberAccess",
                                                                    "referencedDeclaration": null,
                                                                    "src": "14883:42:7",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_uint256",
                                                                        "typeString": "uint256"
                                                                    }
                                                                },
                                                                "nodeType": "BinaryOperation",
                                                                "operator": ">=",
                                                                "rightExpression": {
                                                                    "argumentTypes": null,
                                                                    "baseExpression": {
                                                                        "argumentTypes": null,
                                                                        "id": 1553,
                                                                        "name": "quorum",
                                                                        "nodeType": "Identifier",
                                                                        "overloadedDeclarations": [],
                                                                        "referencedDeclaration": 609,
                                                                        "src": "14929:6:7",
                                                                        "typeDescriptions": {
                                                                            "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
                                                                            "typeString": "mapping(bytes32 => uint256)"
                                                                        }
                                                                    },
                                                                    "id": 1555,
                                                                    "indexExpression": {
                                                                        "argumentTypes": null,
                                                                        "id": 1554,
                                                                        "name": "_creator",
                                                                        "nodeType": "Identifier",
                                                                        "overloadedDeclarations": [],
                                                                        "referencedDeclaration": 1511,
                                                                        "src": "14936:8:7",
                                                                        "typeDescriptions": {
                                                                            "typeIdentifier": "t_bytes32",
                                                                            "typeString": "bytes32"
                                                                        }
                                                                    },
                                                                    "isConstant": false,
                                                                    "isLValue": true,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "nodeType": "IndexAccess",
                                                                    "src": "14929:16:7",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_uint256",
                                                                        "typeString": "uint256"
                                                                    }
                                                                },
                                                                "src": "14883:62:7",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_bool",
                                                                    "typeString": "bool"
                                                                }
                                                            },
                                                            "falseBody": null,
                                                            "id": 1611,
                                                            "nodeType": "IfStatement",
                                                            "src": "14880:521:7",
                                                            "trueBody": {
                                                                "id": 1610,
                                                                "nodeType": "Block",
                                                                "src": "14946:455:7",
                                                                "statements": [
                                                                    {
                                                                        "assignments": [
                                                                            1560
                                                                        ],
                                                                        "declarations": [
                                                                            {
                                                                                "constant": false,
                                                                                "id": 1560,
                                                                                "name": "keyShards",
                                                                                "nodeType": "VariableDeclaration",
                                                                                "scope": 1610,
                                                                                "src": "14969:25:7",
                                                                                "stateVariable": false,
                                                                                "storageLocation": "memory",
                                                                                "typeDescriptions": {
                                                                                    "typeIdentifier": "t_array$_t_string_memory_$dyn_memory_ptr",
                                                                                    "typeString": "string[]"
                                                                                },
                                                                                "typeName": {
                                                                                    "baseType": {
                                                                                        "id": 1558,
                                                                                        "name": "string",
                                                                                        "nodeType": "ElementaryTypeName",
                                                                                        "src": "14969:6:7",
                                                                                        "typeDescriptions": {
                                                                                            "typeIdentifier": "t_string_storage_ptr",
                                                                                            "typeString": "string"
                                                                                        }
                                                                                    },
                                                                                    "id": 1559,
                                                                                    "length": null,
                                                                                    "nodeType": "ArrayTypeName",
                                                                                    "src": "14969:8:7",
                                                                                    "typeDescriptions": {
                                                                                        "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr",
                                                                                        "typeString": "string[]"
                                                                                    }
                                                                                },
                                                                                "value": null,
                                                                                "visibility": "internal"
                                                                            }
                                                                        ],
                                                                        "id": 1572,
                                                                        "initialValue": {
                                                                            "argumentTypes": null,
                                                                            "arguments": [
                                                                                {
                                                                                    "argumentTypes": null,
                                                                                    "expression": {
                                                                                        "argumentTypes": null,
                                                                                        "expression": {
                                                                                            "argumentTypes": null,
                                                                                            "baseExpression": {
                                                                                                "argumentTypes": null,
                                                                                                "baseExpression": {
                                                                                                    "argumentTypes": null,
                                                                                                    "id": 1564,
                                                                                                    "name": "transactions",
                                                                                                    "nodeType": "Identifier",
                                                                                                    "overloadedDeclarations": [],
                                                                                                    "referencedDeclaration": 614,
                                                                                                    "src": "15010:12:7",
                                                                                                    "typeDescriptions": {
                                                                                                        "typeIdentifier": "t_mapping$_t_bytes32_$_t_array$_t_struct$_transaction_$367_storage_$dyn_storage_$",
                                                                                                        "typeString": "mapping(bytes32 => struct IVault.transaction storage ref[] storage ref)"
                                                                                                    }
                                                                                                },
                                                                                                "id": 1566,
                                                                                                "indexExpression": {
                                                                                                    "argumentTypes": null,
                                                                                                    "id": 1565,
                                                                                                    "name": "_creator",
                                                                                                    "nodeType": "Identifier",
                                                                                                    "overloadedDeclarations": [],
                                                                                                    "referencedDeclaration": 1511,
                                                                                                    "src": "15023:8:7",
                                                                                                    "typeDescriptions": {
                                                                                                        "typeIdentifier": "t_bytes32",
                                                                                                        "typeString": "bytes32"
                                                                                                    }
                                                                                                },
                                                                                                "isConstant": false,
                                                                                                "isLValue": true,
                                                                                                "isPure": false,
                                                                                                "lValueRequested": false,
                                                                                                "nodeType": "IndexAccess",
                                                                                                "src": "15010:22:7",
                                                                                                "typeDescriptions": {
                                                                                                    "typeIdentifier": "t_array$_t_struct$_transaction_$367_storage_$dyn_storage",
                                                                                                    "typeString": "struct IVault.transaction storage ref[] storage ref"
                                                                                                }
                                                                                            },
                                                                                            "id": 1568,
                                                                                            "indexExpression": {
                                                                                                "argumentTypes": null,
                                                                                                "id": 1567,
                                                                                                "name": "i",
                                                                                                "nodeType": "Identifier",
                                                                                                "overloadedDeclarations": [],
                                                                                                "referencedDeclaration": 1526,
                                                                                                "src": "15033:1:7",
                                                                                                "typeDescriptions": {
                                                                                                    "typeIdentifier": "t_uint256",
                                                                                                    "typeString": "uint256"
                                                                                                }
                                                                                            },
                                                                                            "isConstant": false,
                                                                                            "isLValue": true,
                                                                                            "isPure": false,
                                                                                            "lValueRequested": false,
                                                                                            "nodeType": "IndexAccess",
                                                                                            "src": "15010:25:7",
                                                                                            "typeDescriptions": {
                                                                                                "typeIdentifier": "t_struct$_transaction_$367_storage",
                                                                                                "typeString": "struct IVault.transaction storage ref"
                                                                                            }
                                                                                        },
                                                                                        "id": 1569,
                                                                                        "isConstant": false,
                                                                                        "isLValue": true,
                                                                                        "isPure": false,
                                                                                        "lValueRequested": false,
                                                                                        "memberName": "cosigners",
                                                                                        "nodeType": "MemberAccess",
                                                                                        "referencedDeclaration": 366,
                                                                                        "src": "15010:35:7",
                                                                                        "typeDescriptions": {
                                                                                            "typeIdentifier": "t_array$_t_bytes32_$dyn_storage",
                                                                                            "typeString": "bytes32[] storage ref"
                                                                                        }
                                                                                    },
                                                                                    "id": 1570,
                                                                                    "isConstant": false,
                                                                                    "isLValue": true,
                                                                                    "isPure": false,
                                                                                    "lValueRequested": false,
                                                                                    "memberName": "length",
                                                                                    "nodeType": "MemberAccess",
                                                                                    "referencedDeclaration": null,
                                                                                    "src": "15010:42:7",
                                                                                    "typeDescriptions": {
                                                                                        "typeIdentifier": "t_uint256",
                                                                                        "typeString": "uint256"
                                                                                    }
                                                                                }
                                                                            ],
                                                                            "expression": {
                                                                                "argumentTypes": [
                                                                                    {
                                                                                        "typeIdentifier": "t_uint256",
                                                                                        "typeString": "uint256"
                                                                                    }
                                                                                ],
                                                                                "id": 1563,
                                                                                "isConstant": false,
                                                                                "isLValue": false,
                                                                                "isPure": true,
                                                                                "lValueRequested": false,
                                                                                "nodeType": "NewExpression",
                                                                                "src": "14997:12:7",
                                                                                "typeDescriptions": {
                                                                                    "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_string_memory_$dyn_memory_$",
                                                                                    "typeString": "function (uint256) pure returns (string memory[] memory)"
                                                                                },
                                                                                "typeName": {
                                                                                    "baseType": {
                                                                                        "id": 1561,
                                                                                        "name": "string",
                                                                                        "nodeType": "ElementaryTypeName",
                                                                                        "src": "15001:6:7",
                                                                                        "typeDescriptions": {
                                                                                            "typeIdentifier": "t_string_storage_ptr",
                                                                                            "typeString": "string"
                                                                                        }
                                                                                    },
                                                                                    "id": 1562,
                                                                                    "length": null,
                                                                                    "nodeType": "ArrayTypeName",
                                                                                    "src": "15001:8:7",
                                                                                    "typeDescriptions": {
                                                                                        "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr",
                                                                                        "typeString": "string[]"
                                                                                    }
                                                                                }
                                                                            },
                                                                            "id": 1571,
                                                                            "isConstant": false,
                                                                            "isLValue": false,
                                                                            "isPure": false,
                                                                            "kind": "functionCall",
                                                                            "lValueRequested": false,
                                                                            "names": [],
                                                                            "nodeType": "FunctionCall",
                                                                            "src": "14997:56:7",
                                                                            "typeDescriptions": {
                                                                                "typeIdentifier": "t_array$_t_string_memory_$dyn_memory",
                                                                                "typeString": "string memory[] memory"
                                                                            }
                                                                        },
                                                                        "nodeType": "VariableDeclarationStatement",
                                                                        "src": "14969:84:7"
                                                                    },
                                                                    {
                                                                        "body": {
                                                                            "id": 1606,
                                                                            "nodeType": "Block",
                                                                            "src": "15140:146:7",
                                                                            "statements": [
                                                                                {
                                                                                    "expression": {
                                                                                        "argumentTypes": null,
                                                                                        "id": 1604,
                                                                                        "isConstant": false,
                                                                                        "isLValue": false,
                                                                                        "isPure": false,
                                                                                        "lValueRequested": false,
                                                                                        "leftHandSide": {
                                                                                            "argumentTypes": null,
                                                                                            "baseExpression": {
                                                                                                "argumentTypes": null,
                                                                                                "id": 1589,
                                                                                                "name": "keyShards",
                                                                                                "nodeType": "Identifier",
                                                                                                "overloadedDeclarations": [],
                                                                                                "referencedDeclaration": 1560,
                                                                                                "src": "15167:9:7",
                                                                                                "typeDescriptions": {
                                                                                                    "typeIdentifier": "t_array$_t_string_memory_$dyn_memory_ptr",
                                                                                                    "typeString": "string memory[] memory"
                                                                                                }
                                                                                            },
                                                                                            "id": 1591,
                                                                                            "indexExpression": {
                                                                                                "argumentTypes": null,
                                                                                                "id": 1590,
                                                                                                "name": "j",
                                                                                                "nodeType": "Identifier",
                                                                                                "overloadedDeclarations": [],
                                                                                                "referencedDeclaration": 1574,
                                                                                                "src": "15177:1:7",
                                                                                                "typeDescriptions": {
                                                                                                    "typeIdentifier": "t_uint256",
                                                                                                    "typeString": "uint256"
                                                                                                }
                                                                                            },
                                                                                            "isConstant": false,
                                                                                            "isLValue": true,
                                                                                            "isPure": false,
                                                                                            "lValueRequested": true,
                                                                                            "nodeType": "IndexAccess",
                                                                                            "src": "15167:12:7",
                                                                                            "typeDescriptions": {
                                                                                                "typeIdentifier": "t_string_memory",
                                                                                                "typeString": "string memory"
                                                                                            }
                                                                                        },
                                                                                        "nodeType": "Assignment",
                                                                                        "operator": "=",
                                                                                        "rightHandSide": {
                                                                                            "argumentTypes": null,
                                                                                            "baseExpression": {
                                                                                                "argumentTypes": null,
                                                                                                "baseExpression": {
                                                                                                    "argumentTypes": null,
                                                                                                    "id": 1592,
                                                                                                    "name": "shards",
                                                                                                    "nodeType": "Identifier",
                                                                                                    "overloadedDeclarations": [],
                                                                                                    "referencedDeclaration": 605,
                                                                                                    "src": "15182:6:7",
                                                                                                    "typeDescriptions": {
                                                                                                        "typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_bytes32_$_t_string_storage_$_$",
                                                                                                        "typeString": "mapping(bytes32 => mapping(bytes32 => string storage ref))"
                                                                                                    }
                                                                                                },
                                                                                                "id": 1594,
                                                                                                "indexExpression": {
                                                                                                    "argumentTypes": null,
                                                                                                    "id": 1593,
                                                                                                    "name": "_creator",
                                                                                                    "nodeType": "Identifier",
                                                                                                    "overloadedDeclarations": [],
                                                                                                    "referencedDeclaration": 1511,
                                                                                                    "src": "15189:8:7",
                                                                                                    "typeDescriptions": {
                                                                                                        "typeIdentifier": "t_bytes32",
                                                                                                        "typeString": "bytes32"
                                                                                                    }
                                                                                                },
                                                                                                "isConstant": false,
                                                                                                "isLValue": true,
                                                                                                "isPure": false,
                                                                                                "lValueRequested": false,
                                                                                                "nodeType": "IndexAccess",
                                                                                                "src": "15182:16:7",
                                                                                                "typeDescriptions": {
                                                                                                    "typeIdentifier": "t_mapping$_t_bytes32_$_t_string_storage_$",
                                                                                                    "typeString": "mapping(bytes32 => string storage ref)"
                                                                                                }
                                                                                            },
                                                                                            "id": 1603,
                                                                                            "indexExpression": {
                                                                                                "argumentTypes": null,
                                                                                                "baseExpression": {
                                                                                                    "argumentTypes": null,
                                                                                                    "expression": {
                                                                                                        "argumentTypes": null,
                                                                                                        "baseExpression": {
                                                                                                            "argumentTypes": null,
                                                                                                            "baseExpression": {
                                                                                                                "argumentTypes": null,
                                                                                                                "id": 1595,
                                                                                                                "name": "transactions",
                                                                                                                "nodeType": "Identifier",
                                                                                                                "overloadedDeclarations": [],
                                                                                                                "referencedDeclaration": 614,
                                                                                                                "src": "15199:12:7",
                                                                                                                "typeDescriptions": {
                                                                                                                    "typeIdentifier": "t_mapping$_t_bytes32_$_t_array$_t_struct$_transaction_$367_storage_$dyn_storage_$",
                                                                                                                    "typeString": "mapping(bytes32 => struct IVault.transaction storage ref[] storage ref)"
                                                                                                                }
                                                                                                            },
                                                                                                            "id": 1597,
                                                                                                            "indexExpression": {
                                                                                                                "argumentTypes": null,
                                                                                                                "id": 1596,
                                                                                                                "name": "_creator",
                                                                                                                "nodeType": "Identifier",
                                                                                                                "overloadedDeclarations": [],
                                                                                                                "referencedDeclaration": 1511,
                                                                                                                "src": "15212:8:7",
                                                                                                                "typeDescriptions": {
                                                                                                                    "typeIdentifier": "t_bytes32",
                                                                                                                    "typeString": "bytes32"
                                                                                                                }
                                                                                                            },
                                                                                                            "isConstant": false,
                                                                                                            "isLValue": true,
                                                                                                            "isPure": false,
                                                                                                            "lValueRequested": false,
                                                                                                            "nodeType": "IndexAccess",
                                                                                                            "src": "15199:22:7",
                                                                                                            "typeDescriptions": {
                                                                                                                "typeIdentifier": "t_array$_t_struct$_transaction_$367_storage_$dyn_storage",
                                                                                                                "typeString": "struct IVault.transaction storage ref[] storage ref"
                                                                                                            }
                                                                                                        },
                                                                                                        "id": 1599,
                                                                                                        "indexExpression": {
                                                                                                            "argumentTypes": null,
                                                                                                            "id": 1598,
                                                                                                            "name": "i",
                                                                                                            "nodeType": "Identifier",
                                                                                                            "overloadedDeclarations": [],
                                                                                                            "referencedDeclaration": 1526,
                                                                                                            "src": "15222:1:7",
                                                                                                            "typeDescriptions": {
                                                                                                                "typeIdentifier": "t_uint256",
                                                                                                                "typeString": "uint256"
                                                                                                            }
                                                                                                        },
                                                                                                        "isConstant": false,
                                                                                                        "isLValue": true,
                                                                                                        "isPure": false,
                                                                                                        "lValueRequested": false,
                                                                                                        "nodeType": "IndexAccess",
                                                                                                        "src": "15199:25:7",
                                                                                                        "typeDescriptions": {
                                                                                                            "typeIdentifier": "t_struct$_transaction_$367_storage",
                                                                                                            "typeString": "struct IVault.transaction storage ref"
                                                                                                        }
                                                                                                    },
                                                                                                    "id": 1600,
                                                                                                    "isConstant": false,
                                                                                                    "isLValue": true,
                                                                                                    "isPure": false,
                                                                                                    "lValueRequested": false,
                                                                                                    "memberName": "cosigners",
                                                                                                    "nodeType": "MemberAccess",
                                                                                                    "referencedDeclaration": 366,
                                                                                                    "src": "15199:35:7",
                                                                                                    "typeDescriptions": {
                                                                                                        "typeIdentifier": "t_array$_t_bytes32_$dyn_storage",
                                                                                                        "typeString": "bytes32[] storage ref"
                                                                                                    }
                                                                                                },
                                                                                                "id": 1602,
                                                                                                "indexExpression": {
                                                                                                    "argumentTypes": null,
                                                                                                    "id": 1601,
                                                                                                    "name": "j",
                                                                                                    "nodeType": "Identifier",
                                                                                                    "overloadedDeclarations": [],
                                                                                                    "referencedDeclaration": 1574,
                                                                                                    "src": "15235:1:7",
                                                                                                    "typeDescriptions": {
                                                                                                        "typeIdentifier": "t_uint256",
                                                                                                        "typeString": "uint256"
                                                                                                    }
                                                                                                },
                                                                                                "isConstant": false,
                                                                                                "isLValue": true,
                                                                                                "isPure": false,
                                                                                                "lValueRequested": false,
                                                                                                "nodeType": "IndexAccess",
                                                                                                "src": "15199:38:7",
                                                                                                "typeDescriptions": {
                                                                                                    "typeIdentifier": "t_bytes32",
                                                                                                    "typeString": "bytes32"
                                                                                                }
                                                                                            },
                                                                                            "isConstant": false,
                                                                                            "isLValue": true,
                                                                                            "isPure": false,
                                                                                            "lValueRequested": false,
                                                                                            "nodeType": "IndexAccess",
                                                                                            "src": "15182:56:7",
                                                                                            "typeDescriptions": {
                                                                                                "typeIdentifier": "t_string_storage",
                                                                                                "typeString": "string storage ref"
                                                                                            }
                                                                                        },
                                                                                        "src": "15167:71:7",
                                                                                        "typeDescriptions": {
                                                                                            "typeIdentifier": "t_string_memory",
                                                                                            "typeString": "string memory"
                                                                                        }
                                                                                    },
                                                                                    "id": 1605,
                                                                                    "nodeType": "ExpressionStatement",
                                                                                    "src": "15167:71:7"
                                                                                }
                                                                            ]
                                                                        },
                                                                        "condition": {
                                                                            "argumentTypes": null,
                                                                            "commonType": {
                                                                                "typeIdentifier": "t_uint256",
                                                                                "typeString": "uint256"
                                                                            },
                                                                            "id": 1585,
                                                                            "isConstant": false,
                                                                            "isLValue": false,
                                                                            "isPure": false,
                                                                            "lValueRequested": false,
                                                                            "leftExpression": {
                                                                                "argumentTypes": null,
                                                                                "id": 1577,
                                                                                "name": "j",
                                                                                "nodeType": "Identifier",
                                                                                "overloadedDeclarations": [],
                                                                                "referencedDeclaration": 1574,
                                                                                "src": "15090:1:7",
                                                                                "typeDescriptions": {
                                                                                    "typeIdentifier": "t_uint256",
                                                                                    "typeString": "uint256"
                                                                                }
                                                                            },
                                                                            "nodeType": "BinaryOperation",
                                                                            "operator": "<",
                                                                            "rightExpression": {
                                                                                "argumentTypes": null,
                                                                                "expression": {
                                                                                    "argumentTypes": null,
                                                                                    "expression": {
                                                                                        "argumentTypes": null,
                                                                                        "baseExpression": {
                                                                                            "argumentTypes": null,
                                                                                            "baseExpression": {
                                                                                                "argumentTypes": null,
                                                                                                "id": 1578,
                                                                                                "name": "transactions",
                                                                                                "nodeType": "Identifier",
                                                                                                "overloadedDeclarations": [],
                                                                                                "referencedDeclaration": 614,
                                                                                                "src": "15092:12:7",
                                                                                                "typeDescriptions": {
                                                                                                    "typeIdentifier": "t_mapping$_t_bytes32_$_t_array$_t_struct$_transaction_$367_storage_$dyn_storage_$",
                                                                                                    "typeString": "mapping(bytes32 => struct IVault.transaction storage ref[] storage ref)"
                                                                                                }
                                                                                            },
                                                                                            "id": 1580,
                                                                                            "indexExpression": {
                                                                                                "argumentTypes": null,
                                                                                                "id": 1579,
                                                                                                "name": "_creator",
                                                                                                "nodeType": "Identifier",
                                                                                                "overloadedDeclarations": [],
                                                                                                "referencedDeclaration": 1511,
                                                                                                "src": "15105:8:7",
                                                                                                "typeDescriptions": {
                                                                                                    "typeIdentifier": "t_bytes32",
                                                                                                    "typeString": "bytes32"
                                                                                                }
                                                                                            },
                                                                                            "isConstant": false,
                                                                                            "isLValue": true,
                                                                                            "isPure": false,
                                                                                            "lValueRequested": false,
                                                                                            "nodeType": "IndexAccess",
                                                                                            "src": "15092:22:7",
                                                                                            "typeDescriptions": {
                                                                                                "typeIdentifier": "t_array$_t_struct$_transaction_$367_storage_$dyn_storage",
                                                                                                "typeString": "struct IVault.transaction storage ref[] storage ref"
                                                                                            }
                                                                                        },
                                                                                        "id": 1582,
                                                                                        "indexExpression": {
                                                                                            "argumentTypes": null,
                                                                                            "id": 1581,
                                                                                            "name": "i",
                                                                                            "nodeType": "Identifier",
                                                                                            "overloadedDeclarations": [],
                                                                                            "referencedDeclaration": 1526,
                                                                                            "src": "15115:1:7",
                                                                                            "typeDescriptions": {
                                                                                                "typeIdentifier": "t_uint256",
                                                                                                "typeString": "uint256"
                                                                                            }
                                                                                        },
                                                                                        "isConstant": false,
                                                                                        "isLValue": true,
                                                                                        "isPure": false,
                                                                                        "lValueRequested": false,
                                                                                        "nodeType": "IndexAccess",
                                                                                        "src": "15092:25:7",
                                                                                        "typeDescriptions": {
                                                                                            "typeIdentifier": "t_struct$_transaction_$367_storage",
                                                                                            "typeString": "struct IVault.transaction storage ref"
                                                                                        }
                                                                                    },
                                                                                    "id": 1583,
                                                                                    "isConstant": false,
                                                                                    "isLValue": true,
                                                                                    "isPure": false,
                                                                                    "lValueRequested": false,
                                                                                    "memberName": "cosigners",
                                                                                    "nodeType": "MemberAccess",
                                                                                    "referencedDeclaration": 366,
                                                                                    "src": "15092:35:7",
                                                                                    "typeDescriptions": {
                                                                                        "typeIdentifier": "t_array$_t_bytes32_$dyn_storage",
                                                                                        "typeString": "bytes32[] storage ref"
                                                                                    }
                                                                                },
                                                                                "id": 1584,
                                                                                "isConstant": false,
                                                                                "isLValue": true,
                                                                                "isPure": false,
                                                                                "lValueRequested": false,
                                                                                "memberName": "length",
                                                                                "nodeType": "MemberAccess",
                                                                                "referencedDeclaration": null,
                                                                                "src": "15092:42:7",
                                                                                "typeDescriptions": {
                                                                                    "typeIdentifier": "t_uint256",
                                                                                    "typeString": "uint256"
                                                                                }
                                                                            },
                                                                            "src": "15090:44:7",
                                                                            "typeDescriptions": {
                                                                                "typeIdentifier": "t_bool",
                                                                                "typeString": "bool"
                                                                            }
                                                                        },
                                                                        "id": 1607,
                                                                        "initializationExpression": {
                                                                            "assignments": [
                                                                                1574
                                                                            ],
                                                                            "declarations": [
                                                                                {
                                                                                    "constant": false,
                                                                                    "id": 1574,
                                                                                    "name": "j",
                                                                                    "nodeType": "VariableDeclaration",
                                                                                    "scope": 1607,
                                                                                    "src": "15080:6:7",
                                                                                    "stateVariable": false,
                                                                                    "storageLocation": "default",
                                                                                    "typeDescriptions": {
                                                                                        "typeIdentifier": "t_uint256",
                                                                                        "typeString": "uint256"
                                                                                    },
                                                                                    "typeName": {
                                                                                        "id": 1573,
                                                                                        "name": "uint",
                                                                                        "nodeType": "ElementaryTypeName",
                                                                                        "src": "15080:4:7",
                                                                                        "typeDescriptions": {
                                                                                            "typeIdentifier": "t_uint256",
                                                                                            "typeString": "uint256"
                                                                                        }
                                                                                    },
                                                                                    "value": null,
                                                                                    "visibility": "internal"
                                                                                }
                                                                            ],
                                                                            "id": 1576,
                                                                            "initialValue": {
                                                                                "argumentTypes": null,
                                                                                "hexValue": "30",
                                                                                "id": 1575,
                                                                                "isConstant": false,
                                                                                "isLValue": false,
                                                                                "isPure": true,
                                                                                "kind": "number",
                                                                                "lValueRequested": false,
                                                                                "nodeType": "Literal",
                                                                                "src": "15087:1:7",
                                                                                "subdenomination": null,
                                                                                "typeDescriptions": {
                                                                                    "typeIdentifier": "t_rational_0_by_1",
                                                                                    "typeString": "int_const 0"
                                                                                },
                                                                                "value": "0"
                                                                            },
                                                                            "nodeType": "VariableDeclarationStatement",
                                                                            "src": "15080:8:7"
                                                                        },
                                                                        "loopExpression": {
                                                                            "expression": {
                                                                                "argumentTypes": null,
                                                                                "id": 1587,
                                                                                "isConstant": false,
                                                                                "isLValue": false,
                                                                                "isPure": false,
                                                                                "lValueRequested": false,
                                                                                "nodeType": "UnaryOperation",
                                                                                "operator": "++",
                                                                                "prefix": false,
                                                                                "src": "15136:3:7",
                                                                                "subExpression": {
                                                                                    "argumentTypes": null,
                                                                                    "id": 1586,
                                                                                    "name": "j",
                                                                                    "nodeType": "Identifier",
                                                                                    "overloadedDeclarations": [],
                                                                                    "referencedDeclaration": 1574,
                                                                                    "src": "15136:1:7",
                                                                                    "typeDescriptions": {
                                                                                        "typeIdentifier": "t_uint256",
                                                                                        "typeString": "uint256"
                                                                                    }
                                                                                },
                                                                                "typeDescriptions": {
                                                                                    "typeIdentifier": "t_uint256",
                                                                                    "typeString": "uint256"
                                                                                }
                                                                            },
                                                                            "id": 1588,
                                                                            "nodeType": "ExpressionStatement",
                                                                            "src": "15136:3:7"
                                                                        },
                                                                        "nodeType": "ForStatement",
                                                                        "src": "15076:210:7"
                                                                    },
                                                                    {
                                                                        "expression": {
                                                                            "argumentTypes": null,
                                                                            "id": 1608,
                                                                            "name": "keyShards",
                                                                            "nodeType": "Identifier",
                                                                            "overloadedDeclarations": [],
                                                                            "referencedDeclaration": 1560,
                                                                            "src": "15372:9:7",
                                                                            "typeDescriptions": {
                                                                                "typeIdentifier": "t_array$_t_string_memory_$dyn_memory_ptr",
                                                                                "typeString": "string memory[] memory"
                                                                            }
                                                                        },
                                                                        "functionReturnParameters": 1524,
                                                                        "id": 1609,
                                                                        "nodeType": "Return",
                                                                        "src": "15365:16:7"
                                                                    }
                                                                ]
                                                            }
                                                        }
                                                    ]
                                                }
                                            }
                                        ]
                                    },
                                    "condition": {
                                        "argumentTypes": null,
                                        "commonType": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        },
                                        "id": 1534,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "leftExpression": {
                                            "argumentTypes": null,
                                            "id": 1529,
                                            "name": "i",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 1526,
                                            "src": "14764:1:7",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                            }
                                        },
                                        "nodeType": "BinaryOperation",
                                        "operator": "<",
                                        "rightExpression": {
                                            "argumentTypes": null,
                                            "expression": {
                                                "argumentTypes": null,
                                                "baseExpression": {
                                                    "argumentTypes": null,
                                                    "id": 1530,
                                                    "name": "transactions",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 614,
                                                    "src": "14766:12:7",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_mapping$_t_bytes32_$_t_array$_t_struct$_transaction_$367_storage_$dyn_storage_$",
                                                        "typeString": "mapping(bytes32 => struct IVault.transaction storage ref[] storage ref)"
                                                    }
                                                },
                                                "id": 1532,
                                                "indexExpression": {
                                                    "argumentTypes": null,
                                                    "id": 1531,
                                                    "name": "_creator",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 1511,
                                                    "src": "14779:8:7",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_bytes32",
                                                        "typeString": "bytes32"
                                                    }
                                                },
                                                "isConstant": false,
                                                "isLValue": true,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "nodeType": "IndexAccess",
                                                "src": "14766:22:7",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_array$_t_struct$_transaction_$367_storage_$dyn_storage",
                                                    "typeString": "struct IVault.transaction storage ref[] storage ref"
                                                }
                                            },
                                            "id": 1533,
                                            "isConstant": false,
                                            "isLValue": true,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "memberName": "length",
                                            "nodeType": "MemberAccess",
                                            "referencedDeclaration": null,
                                            "src": "14766:29:7",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                            }
                                        },
                                        "src": "14764:31:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "id": 1615,
                                    "initializationExpression": {
                                        "assignments": [
                                            1526
                                        ],
                                        "declarations": [
                                            {
                                                "constant": false,
                                                "id": 1526,
                                                "name": "i",
                                                "nodeType": "VariableDeclaration",
                                                "scope": 1615,
                                                "src": "14754:6:7",
                                                "stateVariable": false,
                                                "storageLocation": "default",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                },
                                                "typeName": {
                                                    "id": 1525,
                                                    "name": "uint",
                                                    "nodeType": "ElementaryTypeName",
                                                    "src": "14754:4:7",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_uint256",
                                                        "typeString": "uint256"
                                                    }
                                                },
                                                "value": null,
                                                "visibility": "internal"
                                            }
                                        ],
                                        "id": 1528,
                                        "initialValue": {
                                            "argumentTypes": null,
                                            "hexValue": "30",
                                            "id": 1527,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": true,
                                            "kind": "number",
                                            "lValueRequested": false,
                                            "nodeType": "Literal",
                                            "src": "14761:1:7",
                                            "subdenomination": null,
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_rational_0_by_1",
                                                "typeString": "int_const 0"
                                            },
                                            "value": "0"
                                        },
                                        "nodeType": "VariableDeclarationStatement",
                                        "src": "14754:8:7"
                                    },
                                    "loopExpression": {
                                        "expression": {
                                            "argumentTypes": null,
                                            "id": 1536,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "nodeType": "UnaryOperation",
                                            "operator": "++",
                                            "prefix": false,
                                            "src": "14797:3:7",
                                            "subExpression": {
                                                "argumentTypes": null,
                                                "id": 1535,
                                                "name": "i",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 1526,
                                                "src": "14797:1:7",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                }
                                            },
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                            }
                                        },
                                        "id": 1537,
                                        "nodeType": "ExpressionStatement",
                                        "src": "14797:3:7"
                                    },
                                    "nodeType": "ForStatement",
                                    "src": "14750:677:7"
                                }
                            ]
                        },
                        "documentation": "This function gets the shard for a participant\r\n@param _creator vault creator's username, eg creator@email.com\r\n@param _id vault creator's unique id using which it can be reached, eg, its Google/APNS token\r\n@param _txid transaction identifier \r",
                        "id": 1617,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [
                            {
                                "arguments": [
                                    {
                                        "argumentTypes": null,
                                        "id": 1518,
                                        "name": "_creator",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 1511,
                                        "src": "14686:8:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                        }
                                    },
                                    {
                                        "argumentTypes": null,
                                        "id": 1519,
                                        "name": "_id",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 1513,
                                        "src": "14696:3:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_calldata_ptr",
                                            "typeString": "string calldata"
                                        }
                                    }
                                ],
                                "id": 1520,
                                "modifierName": {
                                    "argumentTypes": null,
                                    "id": 1517,
                                    "name": "onlySigner",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 695,
                                    "src": "14675:10:7",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_modifier$_t_bytes32_$_t_string_memory_ptr_$",
                                        "typeString": "modifier (bytes32,string memory)"
                                    }
                                },
                                "nodeType": "ModifierInvocation",
                                "src": "14675:25:7"
                            }
                        ],
                        "name": "getShards",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 1516,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 1511,
                                    "name": "_creator",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 1617,
                                    "src": "14621:16:7",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes32",
                                        "typeString": "bytes32"
                                    },
                                    "typeName": {
                                        "id": 1510,
                                        "name": "bytes32",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "14621:7:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 1513,
                                    "name": "_id",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 1617,
                                    "src": "14639:19:7",
                                    "stateVariable": false,
                                    "storageLocation": "calldata",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_calldata_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 1512,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "14639:6:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 1515,
                                    "name": "_txid",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 1617,
                                    "src": "14660:13:7",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 1514,
                                        "name": "uint256",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "14660:7:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                }
                            ],
                            "src": "14620:54:7"
                        },
                        "returnParameters": {
                            "id": 1524,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 1523,
                                    "name": "",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 1617,
                                    "src": "14723:15:7",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_array$_t_string_memory_$dyn_memory_ptr",
                                        "typeString": "string[]"
                                    },
                                    "typeName": {
                                        "baseType": {
                                            "id": 1521,
                                            "name": "string",
                                            "nodeType": "ElementaryTypeName",
                                            "src": "14723:6:7",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_string_storage_ptr",
                                                "typeString": "string"
                                            }
                                        },
                                        "id": 1522,
                                        "length": null,
                                        "nodeType": "ArrayTypeName",
                                        "src": "14723:8:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr",
                                            "typeString": "string[]"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                }
                            ],
                            "src": "14722:17:7"
                        },
                        "scope": 1949,
                        "src": "14602:832:7",
                        "stateMutability": "view",
                        "superFunction": 488,
                        "visibility": "external"
                    },
                    {
                        "body": {
                            "id": 1654,
                            "nodeType": "Block",
                            "src": "15859:216:7",
                            "statements": [
                                {
                                    "assignments": [
                                        1631
                                    ],
                                    "declarations": [
                                        {
                                            "constant": false,
                                            "id": 1631,
                                            "name": "currentBalance",
                                            "nodeType": "VariableDeclaration",
                                            "scope": 1654,
                                            "src": "15909:22:7",
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                            },
                                            "typeName": {
                                                "id": 1630,
                                                "name": "uint256",
                                                "nodeType": "ElementaryTypeName",
                                                "src": "15909:7:7",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                }
                                            },
                                            "value": null,
                                            "visibility": "internal"
                                        }
                                    ],
                                    "id": 1639,
                                    "initialValue": {
                                        "argumentTypes": null,
                                        "arguments": [
                                            {
                                                "argumentTypes": null,
                                                "expression": {
                                                    "argumentTypes": null,
                                                    "id": 1636,
                                                    "name": "msg",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 3956,
                                                    "src": "15958:3:7",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_magic_message",
                                                        "typeString": "msg"
                                                    }
                                                },
                                                "id": 1637,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "memberName": "sender",
                                                "nodeType": "MemberAccess",
                                                "referencedDeclaration": null,
                                                "src": "15958:10:7",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_address_payable",
                                                    "typeString": "address payable"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_address_payable",
                                                    "typeString": "address payable"
                                                }
                                            ],
                                            "expression": {
                                                "argumentTypes": null,
                                                "arguments": [
                                                    {
                                                        "argumentTypes": null,
                                                        "id": 1633,
                                                        "name": "token",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 1623,
                                                        "src": "15941:5:7",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "id": 1632,
                                                    "name": "IERC20",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 289,
                                                    "src": "15934:6:7",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_type$_t_contract$_IERC20_$289_$",
                                                        "typeString": "type(contract IERC20)"
                                                    }
                                                },
                                                "id": 1634,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "typeConversion",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "15934:13:7",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_contract$_IERC20_$289",
                                                    "typeString": "contract IERC20"
                                                }
                                            },
                                            "id": 1635,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "memberName": "balanceOf",
                                            "nodeType": "MemberAccess",
                                            "referencedDeclaration": 234,
                                            "src": "15934:23:7",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$",
                                                "typeString": "function (address) view external returns (uint256)"
                                            }
                                        },
                                        "id": 1638,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "15934:35:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "nodeType": "VariableDeclarationStatement",
                                    "src": "15909:60:7"
                                },
                                {
                                    "expression": {
                                        "argumentTypes": null,
                                        "arguments": [
                                            {
                                                "argumentTypes": null,
                                                "arguments": [
                                                    {
                                                        "argumentTypes": null,
                                                        "expression": {
                                                            "argumentTypes": null,
                                                            "id": 1648,
                                                            "name": "block",
                                                            "nodeType": "Identifier",
                                                            "overloadedDeclarations": [],
                                                            "referencedDeclaration": 3946,
                                                            "src": "16034:5:7",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_magic_block",
                                                                "typeString": "block"
                                                            }
                                                        },
                                                        "id": 1649,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": false,
                                                        "lValueRequested": false,
                                                        "memberName": "timestamp",
                                                        "nodeType": "MemberAccess",
                                                        "referencedDeclaration": null,
                                                        "src": "16034:15:7",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    {
                                                        "argumentTypes": null,
                                                        "id": 1650,
                                                        "name": "currentBalance",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 1631,
                                                        "src": "16051:14:7",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    ],
                                                    "id": 1647,
                                                    "name": "BalanceSnapshot",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 657,
                                                    "src": "16018:15:7",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_type$_t_struct$_BalanceSnapshot_$657_storage_ptr_$",
                                                        "typeString": "type(struct Vault.BalanceSnapshot storage pointer)"
                                                    }
                                                },
                                                "id": 1651,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "structConstructorCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "16018:48:7",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_struct$_BalanceSnapshot_$657_memory",
                                                    "typeString": "struct Vault.BalanceSnapshot memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_struct$_BalanceSnapshot_$657_memory",
                                                    "typeString": "struct Vault.BalanceSnapshot memory"
                                                }
                                            ],
                                            "expression": {
                                                "argumentTypes": null,
                                                "baseExpression": {
                                                    "argumentTypes": null,
                                                    "baseExpression": {
                                                        "argumentTypes": null,
                                                        "id": 1640,
                                                        "name": "userSnapshots",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 664,
                                                        "src": "15980:13:7",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_array$_t_struct$_BalanceSnapshot_$657_storage_$dyn_storage_$_$",
                                                            "typeString": "mapping(address => mapping(address => struct Vault.BalanceSnapshot storage ref[] storage ref))"
                                                        }
                                                    },
                                                    "id": 1644,
                                                    "indexExpression": {
                                                        "argumentTypes": null,
                                                        "expression": {
                                                            "argumentTypes": null,
                                                            "id": 1641,
                                                            "name": "msg",
                                                            "nodeType": "Identifier",
                                                            "overloadedDeclarations": [],
                                                            "referencedDeclaration": 3956,
                                                            "src": "15994:3:7",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_magic_message",
                                                                "typeString": "msg"
                                                            }
                                                        },
                                                        "id": 1642,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": false,
                                                        "lValueRequested": false,
                                                        "memberName": "sender",
                                                        "nodeType": "MemberAccess",
                                                        "referencedDeclaration": null,
                                                        "src": "15994:10:7",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address_payable",
                                                            "typeString": "address payable"
                                                        }
                                                    },
                                                    "isConstant": false,
                                                    "isLValue": true,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "nodeType": "IndexAccess",
                                                    "src": "15980:25:7",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_struct$_BalanceSnapshot_$657_storage_$dyn_storage_$",
                                                        "typeString": "mapping(address => struct Vault.BalanceSnapshot storage ref[] storage ref)"
                                                    }
                                                },
                                                "id": 1645,
                                                "indexExpression": {
                                                    "argumentTypes": null,
                                                    "id": 1643,
                                                    "name": "token",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 1623,
                                                    "src": "16006:5:7",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_address",
                                                        "typeString": "address"
                                                    }
                                                },
                                                "isConstant": false,
                                                "isLValue": true,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "nodeType": "IndexAccess",
                                                "src": "15980:32:7",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_array$_t_struct$_BalanceSnapshot_$657_storage_$dyn_storage",
                                                    "typeString": "struct Vault.BalanceSnapshot storage ref[] storage ref"
                                                }
                                            },
                                            "id": 1646,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "memberName": "push",
                                            "nodeType": "MemberAccess",
                                            "referencedDeclaration": null,
                                            "src": "15980:37:7",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_arraypush_nonpayable$_t_struct$_BalanceSnapshot_$657_storage_$returns$_t_uint256_$",
                                                "typeString": "function (struct Vault.BalanceSnapshot storage ref) returns (uint256)"
                                            }
                                        },
                                        "id": 1652,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "15980:87:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "id": 1653,
                                    "nodeType": "ExpressionStatement",
                                    "src": "15980:87:7"
                                }
                            ]
                        },
                        "documentation": "This function takes a snapshot of the token balance for the user\r\n@param _creator vault creator's username, eg creator@email.com\r\n@param _id vault creator's unique id using which it can be reached, eg, its Google/APNS token\r\n@param token token address\r",
                        "id": 1655,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [
                            {
                                "arguments": [
                                    {
                                        "argumentTypes": null,
                                        "id": 1626,
                                        "name": "_creator",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 1619,
                                        "src": "15835:8:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                        }
                                    },
                                    {
                                        "argumentTypes": null,
                                        "id": 1627,
                                        "name": "_id",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 1621,
                                        "src": "15845:3:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_calldata_ptr",
                                            "typeString": "string calldata"
                                        }
                                    }
                                ],
                                "id": 1628,
                                "modifierName": {
                                    "argumentTypes": null,
                                    "id": 1625,
                                    "name": "onlySigner",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 695,
                                    "src": "15824:10:7",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_modifier$_t_bytes32_$_t_string_memory_ptr_$",
                                        "typeString": "modifier (bytes32,string memory)"
                                    }
                                },
                                "nodeType": "ModifierInvocation",
                                "src": "15824:25:7"
                            }
                        ],
                        "name": "snapshotBalance",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 1624,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 1619,
                                    "name": "_creator",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 1655,
                                    "src": "15770:16:7",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes32",
                                        "typeString": "bytes32"
                                    },
                                    "typeName": {
                                        "id": 1618,
                                        "name": "bytes32",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "15770:7:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 1621,
                                    "name": "_id",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 1655,
                                    "src": "15788:19:7",
                                    "stateVariable": false,
                                    "storageLocation": "calldata",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_calldata_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 1620,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "15788:6:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 1623,
                                    "name": "token",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 1655,
                                    "src": "15809:13:7",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 1622,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "15809:7:7",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                }
                            ],
                            "src": "15769:54:7"
                        },
                        "returnParameters": {
                            "id": 1629,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "15859:0:7"
                        },
                        "scope": 1949,
                        "src": "15745:330:7",
                        "stateMutability": "nonpayable",
                        "superFunction": 497,
                        "visibility": "external"
                    },
                    {
                        "anonymous": false,
                        "documentation": null,
                        "id": 1661,
                        "name": "totalCount",
                        "nodeType": "EventDefinition",
                        "parameters": {
                            "id": 1660,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 1657,
                                    "indexed": false,
                                    "name": "total",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 1661,
                                    "src": "16098:13:7",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 1656,
                                        "name": "uint256",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "16098:7:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 1659,
                                    "indexed": false,
                                    "name": "count",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 1661,
                                    "src": "16113:13:7",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 1658,
                                        "name": "uint256",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "16113:7:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                }
                            ],
                            "src": "16097:30:7"
                        },
                        "src": "16081:47:7"
                    },
                    {
                        "anonymous": false,
                        "documentation": null,
                        "id": 1669,
                        "name": "avgBalance",
                        "nodeType": "EventDefinition",
                        "parameters": {
                            "id": 1668,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 1663,
                                    "indexed": false,
                                    "name": "fees",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 1669,
                                    "src": "16151:12:7",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 1662,
                                        "name": "uint256",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "16151:7:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 1665,
                                    "indexed": false,
                                    "name": "totalCount",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 1669,
                                    "src": "16165:18:7",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 1664,
                                        "name": "uint256",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "16165:7:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 1667,
                                    "indexed": false,
                                    "name": "custodyfee",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 1669,
                                    "src": "16185:18:7",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 1666,
                                        "name": "uint256",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "16185:7:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                }
                            ],
                            "src": "16150:54:7"
                        },
                        "src": "16134:71:7"
                    },
                    {
                        "body": {
                            "id": 1828,
                            "nodeType": "Block",
                            "src": "16805:995:7",
                            "statements": [
                                {
                                    "assignments": [
                                        1689
                                    ],
                                    "declarations": [
                                        {
                                            "constant": false,
                                            "id": 1689,
                                            "name": "snapshots",
                                            "nodeType": "VariableDeclaration",
                                            "scope": 1828,
                                            "src": "16816:35:7",
                                            "stateVariable": false,
                                            "storageLocation": "storage",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_array$_t_struct$_BalanceSnapshot_$657_storage_$dyn_storage_ptr",
                                                "typeString": "struct Vault.BalanceSnapshot[]"
                                            },
                                            "typeName": {
                                                "baseType": {
                                                    "contractScope": null,
                                                    "id": 1687,
                                                    "name": "BalanceSnapshot",
                                                    "nodeType": "UserDefinedTypeName",
                                                    "referencedDeclaration": 657,
                                                    "src": "16816:15:7",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_struct$_BalanceSnapshot_$657_storage_ptr",
                                                        "typeString": "struct Vault.BalanceSnapshot"
                                                    }
                                                },
                                                "id": 1688,
                                                "length": null,
                                                "nodeType": "ArrayTypeName",
                                                "src": "16816:17:7",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_array$_t_struct$_BalanceSnapshot_$657_storage_$dyn_storage_ptr",
                                                    "typeString": "struct Vault.BalanceSnapshot[]"
                                                }
                                            },
                                            "value": null,
                                            "visibility": "internal"
                                        }
                                    ],
                                    "id": 1696,
                                    "initialValue": {
                                        "argumentTypes": null,
                                        "baseExpression": {
                                            "argumentTypes": null,
                                            "baseExpression": {
                                                "argumentTypes": null,
                                                "id": 1690,
                                                "name": "userSnapshots",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 664,
                                                "src": "16854:13:7",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_array$_t_struct$_BalanceSnapshot_$657_storage_$dyn_storage_$_$",
                                                    "typeString": "mapping(address => mapping(address => struct Vault.BalanceSnapshot storage ref[] storage ref))"
                                                }
                                            },
                                            "id": 1693,
                                            "indexExpression": {
                                                "argumentTypes": null,
                                                "expression": {
                                                    "argumentTypes": null,
                                                    "id": 1691,
                                                    "name": "msg",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 3956,
                                                    "src": "16868:3:7",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_magic_message",
                                                        "typeString": "msg"
                                                    }
                                                },
                                                "id": 1692,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "memberName": "sender",
                                                "nodeType": "MemberAccess",
                                                "referencedDeclaration": null,
                                                "src": "16868:10:7",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_address_payable",
                                                    "typeString": "address payable"
                                                }
                                            },
                                            "isConstant": false,
                                            "isLValue": true,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "nodeType": "IndexAccess",
                                            "src": "16854:25:7",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_struct$_BalanceSnapshot_$657_storage_$dyn_storage_$",
                                                "typeString": "mapping(address => struct Vault.BalanceSnapshot storage ref[] storage ref)"
                                            }
                                        },
                                        "id": 1695,
                                        "indexExpression": {
                                            "argumentTypes": null,
                                            "id": 1694,
                                            "name": "token",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 1675,
                                            "src": "16880:5:7",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_address",
                                                "typeString": "address"
                                            }
                                        },
                                        "isConstant": false,
                                        "isLValue": true,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "nodeType": "IndexAccess",
                                        "src": "16854:32:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_array$_t_struct$_BalanceSnapshot_$657_storage_$dyn_storage",
                                            "typeString": "struct Vault.BalanceSnapshot storage ref[] storage ref"
                                        }
                                    },
                                    "nodeType": "VariableDeclarationStatement",
                                    "src": "16816:70:7"
                                },
                                {
                                    "assignments": [
                                        1698
                                    ],
                                    "declarations": [
                                        {
                                            "constant": false,
                                            "id": 1698,
                                            "name": "total",
                                            "nodeType": "VariableDeclaration",
                                            "scope": 1828,
                                            "src": "16897:13:7",
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                            },
                                            "typeName": {
                                                "id": 1697,
                                                "name": "uint256",
                                                "nodeType": "ElementaryTypeName",
                                                "src": "16897:7:7",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                }
                                            },
                                            "value": null,
                                            "visibility": "internal"
                                        }
                                    ],
                                    "id": 1700,
                                    "initialValue": {
                                        "argumentTypes": null,
                                        "hexValue": "30",
                                        "id": 1699,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": true,
                                        "kind": "number",
                                        "lValueRequested": false,
                                        "nodeType": "Literal",
                                        "src": "16913:1:7",
                                        "subdenomination": null,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_rational_0_by_1",
                                            "typeString": "int_const 0"
                                        },
                                        "value": "0"
                                    },
                                    "nodeType": "VariableDeclarationStatement",
                                    "src": "16897:17:7"
                                },
                                {
                                    "assignments": [
                                        1702
                                    ],
                                    "declarations": [
                                        {
                                            "constant": false,
                                            "id": 1702,
                                            "name": "count",
                                            "nodeType": "VariableDeclaration",
                                            "scope": 1828,
                                            "src": "16925:13:7",
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                            },
                                            "typeName": {
                                                "id": 1701,
                                                "name": "uint256",
                                                "nodeType": "ElementaryTypeName",
                                                "src": "16925:7:7",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                }
                                            },
                                            "value": null,
                                            "visibility": "internal"
                                        }
                                    ],
                                    "id": 1704,
                                    "initialValue": {
                                        "argumentTypes": null,
                                        "hexValue": "30",
                                        "id": 1703,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": true,
                                        "kind": "number",
                                        "lValueRequested": false,
                                        "nodeType": "Literal",
                                        "src": "16941:1:7",
                                        "subdenomination": null,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_rational_0_by_1",
                                            "typeString": "int_const 0"
                                        },
                                        "value": "0"
                                    },
                                    "nodeType": "VariableDeclarationStatement",
                                    "src": "16925:17:7"
                                },
                                {
                                    "assignments": [
                                        1706
                                    ],
                                    "declarations": [
                                        {
                                            "constant": false,
                                            "id": 1706,
                                            "name": "fee",
                                            "nodeType": "VariableDeclaration",
                                            "scope": 1828,
                                            "src": "16953:11:7",
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                            },
                                            "typeName": {
                                                "id": 1705,
                                                "name": "uint256",
                                                "nodeType": "ElementaryTypeName",
                                                "src": "16953:7:7",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                }
                                            },
                                            "value": null,
                                            "visibility": "internal"
                                        }
                                    ],
                                    "id": 1708,
                                    "initialValue": {
                                        "argumentTypes": null,
                                        "hexValue": "30",
                                        "id": 1707,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": true,
                                        "kind": "number",
                                        "lValueRequested": false,
                                        "nodeType": "Literal",
                                        "src": "16967:1:7",
                                        "subdenomination": null,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_rational_0_by_1",
                                            "typeString": "int_const 0"
                                        },
                                        "value": "0"
                                    },
                                    "nodeType": "VariableDeclarationStatement",
                                    "src": "16953:15:7"
                                },
                                {
                                    "body": {
                                        "id": 1745,
                                        "nodeType": "Block",
                                        "src": "17025:208:7",
                                        "statements": [
                                            {
                                                "condition": {
                                                    "argumentTypes": null,
                                                    "commonType": {
                                                        "typeIdentifier": "t_bool",
                                                        "typeString": "bool"
                                                    },
                                                    "id": 1732,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "leftExpression": {
                                                        "argumentTypes": null,
                                                        "commonType": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        "id": 1725,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": false,
                                                        "lValueRequested": false,
                                                        "leftExpression": {
                                                            "argumentTypes": null,
                                                            "expression": {
                                                                "argumentTypes": null,
                                                                "baseExpression": {
                                                                    "argumentTypes": null,
                                                                    "id": 1720,
                                                                    "name": "snapshots",
                                                                    "nodeType": "Identifier",
                                                                    "overloadedDeclarations": [],
                                                                    "referencedDeclaration": 1689,
                                                                    "src": "17044:9:7",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_array$_t_struct$_BalanceSnapshot_$657_storage_$dyn_storage_ptr",
                                                                        "typeString": "struct Vault.BalanceSnapshot storage ref[] storage pointer"
                                                                    }
                                                                },
                                                                "id": 1722,
                                                                "indexExpression": {
                                                                    "argumentTypes": null,
                                                                    "id": 1721,
                                                                    "name": "i",
                                                                    "nodeType": "Identifier",
                                                                    "overloadedDeclarations": [],
                                                                    "referencedDeclaration": 1710,
                                                                    "src": "17054:1:7",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_uint256",
                                                                        "typeString": "uint256"
                                                                    }
                                                                },
                                                                "isConstant": false,
                                                                "isLValue": true,
                                                                "isPure": false,
                                                                "lValueRequested": false,
                                                                "nodeType": "IndexAccess",
                                                                "src": "17044:12:7",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_struct$_BalanceSnapshot_$657_storage",
                                                                    "typeString": "struct Vault.BalanceSnapshot storage ref"
                                                                }
                                                            },
                                                            "id": 1723,
                                                            "isConstant": false,
                                                            "isLValue": true,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "memberName": "timestamp",
                                                            "nodeType": "MemberAccess",
                                                            "referencedDeclaration": 654,
                                                            "src": "17044:22:7",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_uint256",
                                                                "typeString": "uint256"
                                                            }
                                                        },
                                                        "nodeType": "BinaryOperation",
                                                        "operator": ">=",
                                                        "rightExpression": {
                                                            "argumentTypes": null,
                                                            "id": 1724,
                                                            "name": "fromTime",
                                                            "nodeType": "Identifier",
                                                            "overloadedDeclarations": [],
                                                            "referencedDeclaration": 1677,
                                                            "src": "17070:8:7",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_uint256",
                                                                "typeString": "uint256"
                                                            }
                                                        },
                                                        "src": "17044:34:7",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    "nodeType": "BinaryOperation",
                                                    "operator": "&&",
                                                    "rightExpression": {
                                                        "argumentTypes": null,
                                                        "commonType": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        "id": 1731,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": false,
                                                        "lValueRequested": false,
                                                        "leftExpression": {
                                                            "argumentTypes": null,
                                                            "expression": {
                                                                "argumentTypes": null,
                                                                "baseExpression": {
                                                                    "argumentTypes": null,
                                                                    "id": 1726,
                                                                    "name": "snapshots",
                                                                    "nodeType": "Identifier",
                                                                    "overloadedDeclarations": [],
                                                                    "referencedDeclaration": 1689,
                                                                    "src": "17082:9:7",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_array$_t_struct$_BalanceSnapshot_$657_storage_$dyn_storage_ptr",
                                                                        "typeString": "struct Vault.BalanceSnapshot storage ref[] storage pointer"
                                                                    }
                                                                },
                                                                "id": 1728,
                                                                "indexExpression": {
                                                                    "argumentTypes": null,
                                                                    "id": 1727,
                                                                    "name": "i",
                                                                    "nodeType": "Identifier",
                                                                    "overloadedDeclarations": [],
                                                                    "referencedDeclaration": 1710,
                                                                    "src": "17092:1:7",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_uint256",
                                                                        "typeString": "uint256"
                                                                    }
                                                                },
                                                                "isConstant": false,
                                                                "isLValue": true,
                                                                "isPure": false,
                                                                "lValueRequested": false,
                                                                "nodeType": "IndexAccess",
                                                                "src": "17082:12:7",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_struct$_BalanceSnapshot_$657_storage",
                                                                    "typeString": "struct Vault.BalanceSnapshot storage ref"
                                                                }
                                                            },
                                                            "id": 1729,
                                                            "isConstant": false,
                                                            "isLValue": true,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "memberName": "timestamp",
                                                            "nodeType": "MemberAccess",
                                                            "referencedDeclaration": 654,
                                                            "src": "17082:22:7",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_uint256",
                                                                "typeString": "uint256"
                                                            }
                                                        },
                                                        "nodeType": "BinaryOperation",
                                                        "operator": "<=",
                                                        "rightExpression": {
                                                            "argumentTypes": null,
                                                            "id": 1730,
                                                            "name": "toTime",
                                                            "nodeType": "Identifier",
                                                            "overloadedDeclarations": [],
                                                            "referencedDeclaration": 1679,
                                                            "src": "17108:6:7",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_uint256",
                                                                "typeString": "uint256"
                                                            }
                                                        },
                                                        "src": "17082:32:7",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    "src": "17044:70:7",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_bool",
                                                        "typeString": "bool"
                                                    }
                                                },
                                                "falseBody": null,
                                                "id": 1744,
                                                "nodeType": "IfStatement",
                                                "src": "17040:182:7",
                                                "trueBody": {
                                                    "id": 1743,
                                                    "nodeType": "Block",
                                                    "src": "17116:106:7",
                                                    "statements": [
                                                        {
                                                            "expression": {
                                                                "argumentTypes": null,
                                                                "id": 1738,
                                                                "isConstant": false,
                                                                "isLValue": false,
                                                                "isPure": false,
                                                                "lValueRequested": false,
                                                                "leftHandSide": {
                                                                    "argumentTypes": null,
                                                                    "id": 1733,
                                                                    "name": "total",
                                                                    "nodeType": "Identifier",
                                                                    "overloadedDeclarations": [],
                                                                    "referencedDeclaration": 1698,
                                                                    "src": "17135:5:7",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_uint256",
                                                                        "typeString": "uint256"
                                                                    }
                                                                },
                                                                "nodeType": "Assignment",
                                                                "operator": "+=",
                                                                "rightHandSide": {
                                                                    "argumentTypes": null,
                                                                    "expression": {
                                                                        "argumentTypes": null,
                                                                        "baseExpression": {
                                                                            "argumentTypes": null,
                                                                            "id": 1734,
                                                                            "name": "snapshots",
                                                                            "nodeType": "Identifier",
                                                                            "overloadedDeclarations": [],
                                                                            "referencedDeclaration": 1689,
                                                                            "src": "17144:9:7",
                                                                            "typeDescriptions": {
                                                                                "typeIdentifier": "t_array$_t_struct$_BalanceSnapshot_$657_storage_$dyn_storage_ptr",
                                                                                "typeString": "struct Vault.BalanceSnapshot storage ref[] storage pointer"
                                                                            }
                                                                        },
                                                                        "id": 1736,
                                                                        "indexExpression": {
                                                                            "argumentTypes": null,
                                                                            "id": 1735,
                                                                            "name": "i",
                                                                            "nodeType": "Identifier",
                                                                            "overloadedDeclarations": [],
                                                                            "referencedDeclaration": 1710,
                                                                            "src": "17154:1:7",
                                                                            "typeDescriptions": {
                                                                                "typeIdentifier": "t_uint256",
                                                                                "typeString": "uint256"
                                                                            }
                                                                        },
                                                                        "isConstant": false,
                                                                        "isLValue": true,
                                                                        "isPure": false,
                                                                        "lValueRequested": false,
                                                                        "nodeType": "IndexAccess",
                                                                        "src": "17144:12:7",
                                                                        "typeDescriptions": {
                                                                            "typeIdentifier": "t_struct$_BalanceSnapshot_$657_storage",
                                                                            "typeString": "struct Vault.BalanceSnapshot storage ref"
                                                                        }
                                                                    },
                                                                    "id": 1737,
                                                                    "isConstant": false,
                                                                    "isLValue": true,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "memberName": "balance",
                                                                    "nodeType": "MemberAccess",
                                                                    "referencedDeclaration": 656,
                                                                    "src": "17144:20:7",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_uint256",
                                                                        "typeString": "uint256"
                                                                    }
                                                                },
                                                                "src": "17135:29:7",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_uint256",
                                                                    "typeString": "uint256"
                                                                }
                                                            },
                                                            "id": 1739,
                                                            "nodeType": "ExpressionStatement",
                                                            "src": "17135:29:7"
                                                        },
                                                        {
                                                            "expression": {
                                                                "argumentTypes": null,
                                                                "id": 1741,
                                                                "isConstant": false,
                                                                "isLValue": false,
                                                                "isPure": false,
                                                                "lValueRequested": false,
                                                                "nodeType": "UnaryOperation",
                                                                "operator": "++",
                                                                "prefix": false,
                                                                "src": "17183:7:7",
                                                                "subExpression": {
                                                                    "argumentTypes": null,
                                                                    "id": 1740,
                                                                    "name": "count",
                                                                    "nodeType": "Identifier",
                                                                    "overloadedDeclarations": [],
                                                                    "referencedDeclaration": 1702,
                                                                    "src": "17183:5:7",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_uint256",
                                                                        "typeString": "uint256"
                                                                    }
                                                                },
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_uint256",
                                                                    "typeString": "uint256"
                                                                }
                                                            },
                                                            "id": 1742,
                                                            "nodeType": "ExpressionStatement",
                                                            "src": "17183:7:7"
                                                        }
                                                    ]
                                                }
                                            }
                                        ]
                                    },
                                    "condition": {
                                        "argumentTypes": null,
                                        "commonType": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        },
                                        "id": 1716,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "leftExpression": {
                                            "argumentTypes": null,
                                            "id": 1713,
                                            "name": "i",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 1710,
                                            "src": "16998:1:7",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                            }
                                        },
                                        "nodeType": "BinaryOperation",
                                        "operator": "<",
                                        "rightExpression": {
                                            "argumentTypes": null,
                                            "expression": {
                                                "argumentTypes": null,
                                                "id": 1714,
                                                "name": "snapshots",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 1689,
                                                "src": "17002:9:7",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_array$_t_struct$_BalanceSnapshot_$657_storage_$dyn_storage_ptr",
                                                    "typeString": "struct Vault.BalanceSnapshot storage ref[] storage pointer"
                                                }
                                            },
                                            "id": 1715,
                                            "isConstant": false,
                                            "isLValue": true,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "memberName": "length",
                                            "nodeType": "MemberAccess",
                                            "referencedDeclaration": null,
                                            "src": "17002:16:7",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                            }
                                        },
                                        "src": "16998:20:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "id": 1746,
                                    "initializationExpression": {
                                        "assignments": [
                                            1710
                                        ],
                                        "declarations": [
                                            {
                                                "constant": false,
                                                "id": 1710,
                                                "name": "i",
                                                "nodeType": "VariableDeclaration",
                                                "scope": 1746,
                                                "src": "16986:6:7",
                                                "stateVariable": false,
                                                "storageLocation": "default",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                },
                                                "typeName": {
                                                    "id": 1709,
                                                    "name": "uint",
                                                    "nodeType": "ElementaryTypeName",
                                                    "src": "16986:4:7",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_uint256",
                                                        "typeString": "uint256"
                                                    }
                                                },
                                                "value": null,
                                                "visibility": "internal"
                                            }
                                        ],
                                        "id": 1712,
                                        "initialValue": {
                                            "argumentTypes": null,
                                            "hexValue": "30",
                                            "id": 1711,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": true,
                                            "kind": "number",
                                            "lValueRequested": false,
                                            "nodeType": "Literal",
                                            "src": "16995:1:7",
                                            "subdenomination": null,
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_rational_0_by_1",
                                                "typeString": "int_const 0"
                                            },
                                            "value": "0"
                                        },
                                        "nodeType": "VariableDeclarationStatement",
                                        "src": "16986:10:7"
                                    },
                                    "loopExpression": {
                                        "expression": {
                                            "argumentTypes": null,
                                            "id": 1718,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "nodeType": "UnaryOperation",
                                            "operator": "++",
                                            "prefix": false,
                                            "src": "17020:3:7",
                                            "subExpression": {
                                                "argumentTypes": null,
                                                "id": 1717,
                                                "name": "i",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 1710,
                                                "src": "17020:1:7",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                }
                                            },
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                            }
                                        },
                                        "id": 1719,
                                        "nodeType": "ExpressionStatement",
                                        "src": "17020:3:7"
                                    },
                                    "nodeType": "ForStatement",
                                    "src": "16981:252:7"
                                },
                                {
                                    "eventCall": {
                                        "argumentTypes": null,
                                        "arguments": [
                                            {
                                                "argumentTypes": null,
                                                "id": 1748,
                                                "name": "total",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 1698,
                                                "src": "17259:5:7",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                }
                                            },
                                            {
                                                "argumentTypes": null,
                                                "id": 1749,
                                                "name": "count",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 1702,
                                                "src": "17266:5:7",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                },
                                                {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                }
                                            ],
                                            "id": 1747,
                                            "name": "totalCount",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 1661,
                                            "src": "17248:10:7",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$",
                                                "typeString": "function (uint256,uint256)"
                                            }
                                        },
                                        "id": 1750,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "17248:24:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 1751,
                                    "nodeType": "EmitStatement",
                                    "src": "17243:29:7"
                                },
                                {
                                    "condition": {
                                        "argumentTypes": null,
                                        "commonType": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        },
                                        "id": 1754,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "leftExpression": {
                                            "argumentTypes": null,
                                            "id": 1752,
                                            "name": "count",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 1702,
                                            "src": "17287:5:7",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                            }
                                        },
                                        "nodeType": "BinaryOperation",
                                        "operator": "!=",
                                        "rightExpression": {
                                            "argumentTypes": null,
                                            "hexValue": "30",
                                            "id": 1753,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": true,
                                            "kind": "number",
                                            "lValueRequested": false,
                                            "nodeType": "Literal",
                                            "src": "17296:1:7",
                                            "subdenomination": null,
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_rational_0_by_1",
                                                "typeString": "int_const 0"
                                            },
                                            "value": "0"
                                        },
                                        "src": "17287:10:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "falseBody": null,
                                    "id": 1827,
                                    "nodeType": "IfStatement",
                                    "src": "17283:509:7",
                                    "trueBody": {
                                        "id": 1826,
                                        "nodeType": "Block",
                                        "src": "17298:494:7",
                                        "statements": [
                                            {
                                                "expression": {
                                                    "argumentTypes": null,
                                                    "id": 1773,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "leftHandSide": {
                                                        "argumentTypes": null,
                                                        "id": 1755,
                                                        "name": "fee",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 1706,
                                                        "src": "17313:3:7",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    "nodeType": "Assignment",
                                                    "operator": "=",
                                                    "rightHandSide": {
                                                        "argumentTypes": null,
                                                        "arguments": [
                                                            {
                                                                "argumentTypes": null,
                                                                "arguments": [
                                                                    {
                                                                        "argumentTypes": null,
                                                                        "id": 1760,
                                                                        "name": "custodyfee",
                                                                        "nodeType": "Identifier",
                                                                        "overloadedDeclarations": [],
                                                                        "referencedDeclaration": 571,
                                                                        "src": "17357:10:7",
                                                                        "typeDescriptions": {
                                                                            "typeIdentifier": "t_uint256",
                                                                            "typeString": "uint256"
                                                                        }
                                                                    },
                                                                    {
                                                                        "argumentTypes": null,
                                                                        "arguments": [
                                                                            {
                                                                                "argumentTypes": null,
                                                                                "id": 1763,
                                                                                "name": "total",
                                                                                "nodeType": "Identifier",
                                                                                "overloadedDeclarations": [],
                                                                                "referencedDeclaration": 1698,
                                                                                "src": "17388:5:7",
                                                                                "typeDescriptions": {
                                                                                    "typeIdentifier": "t_uint256",
                                                                                    "typeString": "uint256"
                                                                                }
                                                                            },
                                                                            {
                                                                                "argumentTypes": null,
                                                                                "id": 1764,
                                                                                "name": "count",
                                                                                "nodeType": "Identifier",
                                                                                "overloadedDeclarations": [],
                                                                                "referencedDeclaration": 1702,
                                                                                "src": "17395:5:7",
                                                                                "typeDescriptions": {
                                                                                    "typeIdentifier": "t_uint256",
                                                                                    "typeString": "uint256"
                                                                                }
                                                                            }
                                                                        ],
                                                                        "expression": {
                                                                            "argumentTypes": [
                                                                                {
                                                                                    "typeIdentifier": "t_uint256",
                                                                                    "typeString": "uint256"
                                                                                },
                                                                                {
                                                                                    "typeIdentifier": "t_uint256",
                                                                                    "typeString": "uint256"
                                                                                }
                                                                            ],
                                                                            "expression": {
                                                                                "argumentTypes": null,
                                                                                "id": 1761,
                                                                                "name": "FixedPoint",
                                                                                "nodeType": "Identifier",
                                                                                "overloadedDeclarations": [],
                                                                                "referencedDeclaration": 2367,
                                                                                "src": "17369:10:7",
                                                                                "typeDescriptions": {
                                                                                    "typeIdentifier": "t_type$_t_contract$_FixedPoint_$2367_$",
                                                                                    "typeString": "type(library FixedPoint)"
                                                                                }
                                                                            },
                                                                            "id": 1762,
                                                                            "isConstant": false,
                                                                            "isLValue": false,
                                                                            "isPure": false,
                                                                            "lValueRequested": false,
                                                                            "memberName": "divDown",
                                                                            "nodeType": "MemberAccess",
                                                                            "referencedDeclaration": 2153,
                                                                            "src": "17369:18:7",
                                                                            "typeDescriptions": {
                                                                                "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$",
                                                                                "typeString": "function (uint256,uint256) pure returns (uint256)"
                                                                            }
                                                                        },
                                                                        "id": 1765,
                                                                        "isConstant": false,
                                                                        "isLValue": false,
                                                                        "isPure": false,
                                                                        "kind": "functionCall",
                                                                        "lValueRequested": false,
                                                                        "names": [],
                                                                        "nodeType": "FunctionCall",
                                                                        "src": "17369:32:7",
                                                                        "typeDescriptions": {
                                                                            "typeIdentifier": "t_uint256",
                                                                            "typeString": "uint256"
                                                                        }
                                                                    }
                                                                ],
                                                                "expression": {
                                                                    "argumentTypes": [
                                                                        {
                                                                            "typeIdentifier": "t_uint256",
                                                                            "typeString": "uint256"
                                                                        },
                                                                        {
                                                                            "typeIdentifier": "t_uint256",
                                                                            "typeString": "uint256"
                                                                        }
                                                                    ],
                                                                    "expression": {
                                                                        "argumentTypes": null,
                                                                        "id": 1758,
                                                                        "name": "FixedPoint",
                                                                        "nodeType": "Identifier",
                                                                        "overloadedDeclarations": [],
                                                                        "referencedDeclaration": 2367,
                                                                        "src": "17338:10:7",
                                                                        "typeDescriptions": {
                                                                            "typeIdentifier": "t_type$_t_contract$_FixedPoint_$2367_$",
                                                                            "typeString": "type(library FixedPoint)"
                                                                        }
                                                                    },
                                                                    "id": 1759,
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "memberName": "mulDown",
                                                                    "nodeType": "MemberAccess",
                                                                    "referencedDeclaration": 2062,
                                                                    "src": "17338:18:7",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$",
                                                                        "typeString": "function (uint256,uint256) pure returns (uint256)"
                                                                    }
                                                                },
                                                                "id": 1766,
                                                                "isConstant": false,
                                                                "isLValue": false,
                                                                "isPure": false,
                                                                "kind": "functionCall",
                                                                "lValueRequested": false,
                                                                "names": [],
                                                                "nodeType": "FunctionCall",
                                                                "src": "17338:64:7",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_uint256",
                                                                    "typeString": "uint256"
                                                                }
                                                            },
                                                            {
                                                                "argumentTypes": null,
                                                                "arguments": [
                                                                    {
                                                                        "argumentTypes": null,
                                                                        "arguments": [
                                                                            {
                                                                                "argumentTypes": null,
                                                                                "id": 1769,
                                                                                "name": "token",
                                                                                "nodeType": "Identifier",
                                                                                "overloadedDeclarations": [],
                                                                                "referencedDeclaration": 1675,
                                                                                "src": "17433:5:7",
                                                                                "typeDescriptions": {
                                                                                    "typeIdentifier": "t_address",
                                                                                    "typeString": "address"
                                                                                }
                                                                            }
                                                                        ],
                                                                        "expression": {
                                                                            "argumentTypes": [
                                                                                {
                                                                                    "typeIdentifier": "t_address",
                                                                                    "typeString": "address"
                                                                                }
                                                                            ],
                                                                            "id": 1768,
                                                                            "name": "IERC20",
                                                                            "nodeType": "Identifier",
                                                                            "overloadedDeclarations": [],
                                                                            "referencedDeclaration": 289,
                                                                            "src": "17426:6:7",
                                                                            "typeDescriptions": {
                                                                                "typeIdentifier": "t_type$_t_contract$_IERC20_$289_$",
                                                                                "typeString": "type(contract IERC20)"
                                                                            }
                                                                        },
                                                                        "id": 1770,
                                                                        "isConstant": false,
                                                                        "isLValue": false,
                                                                        "isPure": false,
                                                                        "kind": "typeConversion",
                                                                        "lValueRequested": false,
                                                                        "names": [],
                                                                        "nodeType": "FunctionCall",
                                                                        "src": "17426:13:7",
                                                                        "typeDescriptions": {
                                                                            "typeIdentifier": "t_contract$_IERC20_$289",
                                                                            "typeString": "contract IERC20"
                                                                        }
                                                                    }
                                                                ],
                                                                "expression": {
                                                                    "argumentTypes": [
                                                                        {
                                                                            "typeIdentifier": "t_contract$_IERC20_$289",
                                                                            "typeString": "contract IERC20"
                                                                        }
                                                                    ],
                                                                    "id": 1767,
                                                                    "name": "_computeScalingFactor",
                                                                    "nodeType": "Identifier",
                                                                    "overloadedDeclarations": [],
                                                                    "referencedDeclaration": 1916,
                                                                    "src": "17404:21:7",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_function_internal_view$_t_contract$_IERC20_$289_$returns$_t_uint256_$",
                                                                        "typeString": "function (contract IERC20) view returns (uint256)"
                                                                    }
                                                                },
                                                                "id": 1771,
                                                                "isConstant": false,
                                                                "isLValue": false,
                                                                "isPure": false,
                                                                "kind": "functionCall",
                                                                "lValueRequested": false,
                                                                "names": [],
                                                                "nodeType": "FunctionCall",
                                                                "src": "17404:36:7",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_uint256",
                                                                    "typeString": "uint256"
                                                                }
                                                            }
                                                        ],
                                                        "expression": {
                                                            "argumentTypes": [
                                                                {
                                                                    "typeIdentifier": "t_uint256",
                                                                    "typeString": "uint256"
                                                                },
                                                                {
                                                                    "typeIdentifier": "t_uint256",
                                                                    "typeString": "uint256"
                                                                }
                                                            ],
                                                            "expression": {
                                                                "argumentTypes": null,
                                                                "id": 1756,
                                                                "name": "FixedPoint",
                                                                "nodeType": "Identifier",
                                                                "overloadedDeclarations": [],
                                                                "referencedDeclaration": 2367,
                                                                "src": "17319:10:7",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_type$_t_contract$_FixedPoint_$2367_$",
                                                                    "typeString": "type(library FixedPoint)"
                                                                }
                                                            },
                                                            "id": 1757,
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "memberName": "divDown",
                                                            "nodeType": "MemberAccess",
                                                            "referencedDeclaration": 2153,
                                                            "src": "17319:18:7",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$",
                                                                "typeString": "function (uint256,uint256) pure returns (uint256)"
                                                            }
                                                        },
                                                        "id": 1772,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": false,
                                                        "kind": "functionCall",
                                                        "lValueRequested": false,
                                                        "names": [],
                                                        "nodeType": "FunctionCall",
                                                        "src": "17319:122:7",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    "src": "17313:128:7",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_uint256",
                                                        "typeString": "uint256"
                                                    }
                                                },
                                                "id": 1774,
                                                "nodeType": "ExpressionStatement",
                                                "src": "17313:128:7"
                                            },
                                            {
                                                "expression": {
                                                    "argumentTypes": null,
                                                    "id": 1784,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "leftHandSide": {
                                                        "argumentTypes": null,
                                                        "id": 1775,
                                                        "name": "fee",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 1706,
                                                        "src": "17463:3:7",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    "nodeType": "Assignment",
                                                    "operator": "=",
                                                    "rightHandSide": {
                                                        "argumentTypes": null,
                                                        "arguments": [
                                                            {
                                                                "argumentTypes": null,
                                                                "id": 1777,
                                                                "name": "fee",
                                                                "nodeType": "Identifier",
                                                                "overloadedDeclarations": [],
                                                                "referencedDeclaration": 1706,
                                                                "src": "17484:3:7",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_uint256",
                                                                    "typeString": "uint256"
                                                                }
                                                            },
                                                            {
                                                                "argumentTypes": null,
                                                                "arguments": [
                                                                    {
                                                                        "argumentTypes": null,
                                                                        "arguments": [
                                                                            {
                                                                                "argumentTypes": null,
                                                                                "id": 1780,
                                                                                "name": "token",
                                                                                "nodeType": "Identifier",
                                                                                "overloadedDeclarations": [],
                                                                                "referencedDeclaration": 1675,
                                                                                "src": "17518:5:7",
                                                                                "typeDescriptions": {
                                                                                    "typeIdentifier": "t_address",
                                                                                    "typeString": "address"
                                                                                }
                                                                            }
                                                                        ],
                                                                        "expression": {
                                                                            "argumentTypes": [
                                                                                {
                                                                                    "typeIdentifier": "t_address",
                                                                                    "typeString": "address"
                                                                                }
                                                                            ],
                                                                            "id": 1779,
                                                                            "name": "IERC20",
                                                                            "nodeType": "Identifier",
                                                                            "overloadedDeclarations": [],
                                                                            "referencedDeclaration": 289,
                                                                            "src": "17511:6:7",
                                                                            "typeDescriptions": {
                                                                                "typeIdentifier": "t_type$_t_contract$_IERC20_$289_$",
                                                                                "typeString": "type(contract IERC20)"
                                                                            }
                                                                        },
                                                                        "id": 1781,
                                                                        "isConstant": false,
                                                                        "isLValue": false,
                                                                        "isPure": false,
                                                                        "kind": "typeConversion",
                                                                        "lValueRequested": false,
                                                                        "names": [],
                                                                        "nodeType": "FunctionCall",
                                                                        "src": "17511:13:7",
                                                                        "typeDescriptions": {
                                                                            "typeIdentifier": "t_contract$_IERC20_$289",
                                                                            "typeString": "contract IERC20"
                                                                        }
                                                                    }
                                                                ],
                                                                "expression": {
                                                                    "argumentTypes": [
                                                                        {
                                                                            "typeIdentifier": "t_contract$_IERC20_$289",
                                                                            "typeString": "contract IERC20"
                                                                        }
                                                                    ],
                                                                    "id": 1778,
                                                                    "name": "_computeScalingFactor",
                                                                    "nodeType": "Identifier",
                                                                    "overloadedDeclarations": [],
                                                                    "referencedDeclaration": 1916,
                                                                    "src": "17489:21:7",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_function_internal_view$_t_contract$_IERC20_$289_$returns$_t_uint256_$",
                                                                        "typeString": "function (contract IERC20) view returns (uint256)"
                                                                    }
                                                                },
                                                                "id": 1782,
                                                                "isConstant": false,
                                                                "isLValue": false,
                                                                "isPure": false,
                                                                "kind": "functionCall",
                                                                "lValueRequested": false,
                                                                "names": [],
                                                                "nodeType": "FunctionCall",
                                                                "src": "17489:36:7",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_uint256",
                                                                    "typeString": "uint256"
                                                                }
                                                            }
                                                        ],
                                                        "expression": {
                                                            "argumentTypes": [
                                                                {
                                                                    "typeIdentifier": "t_uint256",
                                                                    "typeString": "uint256"
                                                                },
                                                                {
                                                                    "typeIdentifier": "t_uint256",
                                                                    "typeString": "uint256"
                                                                }
                                                            ],
                                                            "id": 1776,
                                                            "name": "_downscaleDown",
                                                            "nodeType": "Identifier",
                                                            "overloadedDeclarations": [],
                                                            "referencedDeclaration": 1932,
                                                            "src": "17469:14:7",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$",
                                                                "typeString": "function (uint256,uint256) pure returns (uint256)"
                                                            }
                                                        },
                                                        "id": 1783,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": false,
                                                        "kind": "functionCall",
                                                        "lValueRequested": false,
                                                        "names": [],
                                                        "nodeType": "FunctionCall",
                                                        "src": "17469:57:7",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    "src": "17463:63:7",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_uint256",
                                                        "typeString": "uint256"
                                                    }
                                                },
                                                "id": 1785,
                                                "nodeType": "ExpressionStatement",
                                                "src": "17463:63:7"
                                            },
                                            {
                                                "eventCall": {
                                                    "argumentTypes": null,
                                                    "arguments": [
                                                        {
                                                            "argumentTypes": null,
                                                            "baseExpression": {
                                                                "argumentTypes": null,
                                                                "id": 1787,
                                                                "name": "fees",
                                                                "nodeType": "Identifier",
                                                                "overloadedDeclarations": [],
                                                                "referencedDeclaration": 668,
                                                                "src": "17557:4:7",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                                                                    "typeString": "mapping(address => uint256)"
                                                                }
                                                            },
                                                            "id": 1789,
                                                            "indexExpression": {
                                                                "argumentTypes": null,
                                                                "id": 1788,
                                                                "name": "token",
                                                                "nodeType": "Identifier",
                                                                "overloadedDeclarations": [],
                                                                "referencedDeclaration": 1675,
                                                                "src": "17562:5:7",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_address",
                                                                    "typeString": "address"
                                                                }
                                                            },
                                                            "isConstant": false,
                                                            "isLValue": true,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "nodeType": "IndexAccess",
                                                            "src": "17557:11:7",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_uint256",
                                                                "typeString": "uint256"
                                                            }
                                                        },
                                                        {
                                                            "argumentTypes": null,
                                                            "id": 1790,
                                                            "name": "custodyfee",
                                                            "nodeType": "Identifier",
                                                            "overloadedDeclarations": [],
                                                            "referencedDeclaration": 571,
                                                            "src": "17570:10:7",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_uint256",
                                                                "typeString": "uint256"
                                                            }
                                                        },
                                                        {
                                                            "argumentTypes": null,
                                                            "id": 1791,
                                                            "name": "fee",
                                                            "nodeType": "Identifier",
                                                            "overloadedDeclarations": [],
                                                            "referencedDeclaration": 1706,
                                                            "src": "17582:3:7",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_uint256",
                                                                "typeString": "uint256"
                                                            }
                                                        }
                                                    ],
                                                    "expression": {
                                                        "argumentTypes": [
                                                            {
                                                                "typeIdentifier": "t_uint256",
                                                                "typeString": "uint256"
                                                            },
                                                            {
                                                                "typeIdentifier": "t_uint256",
                                                                "typeString": "uint256"
                                                            },
                                                            {
                                                                "typeIdentifier": "t_uint256",
                                                                "typeString": "uint256"
                                                            }
                                                        ],
                                                        "id": 1786,
                                                        "name": "avgBalance",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 1669,
                                                        "src": "17546:10:7",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$",
                                                            "typeString": "function (uint256,uint256,uint256)"
                                                        }
                                                    },
                                                    "id": 1792,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "kind": "functionCall",
                                                    "lValueRequested": false,
                                                    "names": [],
                                                    "nodeType": "FunctionCall",
                                                    "src": "17546:40:7",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_tuple$__$",
                                                        "typeString": "tuple()"
                                                    }
                                                },
                                                "id": 1793,
                                                "nodeType": "EmitStatement",
                                                "src": "17541:45:7"
                                            },
                                            {
                                                "expression": {
                                                    "argumentTypes": null,
                                                    "arguments": [
                                                        {
                                                            "argumentTypes": null,
                                                            "expression": {
                                                                "argumentTypes": null,
                                                                "id": 1798,
                                                                "name": "msg",
                                                                "nodeType": "Identifier",
                                                                "overloadedDeclarations": [],
                                                                "referencedDeclaration": 3956,
                                                                "src": "17628:3:7",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_magic_message",
                                                                    "typeString": "msg"
                                                                }
                                                            },
                                                            "id": 1799,
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "memberName": "sender",
                                                            "nodeType": "MemberAccess",
                                                            "referencedDeclaration": null,
                                                            "src": "17628:10:7",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_address_payable",
                                                                "typeString": "address payable"
                                                            }
                                                        },
                                                        {
                                                            "argumentTypes": null,
                                                            "arguments": [
                                                                {
                                                                    "argumentTypes": null,
                                                                    "id": 1801,
                                                                    "name": "this",
                                                                    "nodeType": "Identifier",
                                                                    "overloadedDeclarations": [],
                                                                    "referencedDeclaration": 3990,
                                                                    "src": "17648:4:7",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_contract$_Vault_$1949",
                                                                        "typeString": "contract Vault"
                                                                    }
                                                                }
                                                            ],
                                                            "expression": {
                                                                "argumentTypes": [
                                                                    {
                                                                        "typeIdentifier": "t_contract$_Vault_$1949",
                                                                        "typeString": "contract Vault"
                                                                    }
                                                                ],
                                                                "id": 1800,
                                                                "isConstant": false,
                                                                "isLValue": false,
                                                                "isPure": true,
                                                                "lValueRequested": false,
                                                                "nodeType": "ElementaryTypeNameExpression",
                                                                "src": "17640:7:7",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_type$_t_address_$",
                                                                    "typeString": "type(address)"
                                                                },
                                                                "typeName": "address"
                                                            },
                                                            "id": 1802,
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": false,
                                                            "kind": "typeConversion",
                                                            "lValueRequested": false,
                                                            "names": [],
                                                            "nodeType": "FunctionCall",
                                                            "src": "17640:13:7",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_address",
                                                                "typeString": "address"
                                                            }
                                                        },
                                                        {
                                                            "argumentTypes": null,
                                                            "id": 1803,
                                                            "name": "fee",
                                                            "nodeType": "Identifier",
                                                            "overloadedDeclarations": [],
                                                            "referencedDeclaration": 1706,
                                                            "src": "17655:3:7",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_uint256",
                                                                "typeString": "uint256"
                                                            }
                                                        }
                                                    ],
                                                    "expression": {
                                                        "argumentTypes": [
                                                            {
                                                                "typeIdentifier": "t_address_payable",
                                                                "typeString": "address payable"
                                                            },
                                                            {
                                                                "typeIdentifier": "t_address",
                                                                "typeString": "address"
                                                            },
                                                            {
                                                                "typeIdentifier": "t_uint256",
                                                                "typeString": "uint256"
                                                            }
                                                        ],
                                                        "expression": {
                                                            "argumentTypes": null,
                                                            "arguments": [
                                                                {
                                                                    "argumentTypes": null,
                                                                    "id": 1795,
                                                                    "name": "token",
                                                                    "nodeType": "Identifier",
                                                                    "overloadedDeclarations": [],
                                                                    "referencedDeclaration": 1675,
                                                                    "src": "17608:5:7",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_address",
                                                                        "typeString": "address"
                                                                    }
                                                                }
                                                            ],
                                                            "expression": {
                                                                "argumentTypes": [
                                                                    {
                                                                        "typeIdentifier": "t_address",
                                                                        "typeString": "address"
                                                                    }
                                                                ],
                                                                "id": 1794,
                                                                "name": "IERC20",
                                                                "nodeType": "Identifier",
                                                                "overloadedDeclarations": [],
                                                                "referencedDeclaration": 289,
                                                                "src": "17601:6:7",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_type$_t_contract$_IERC20_$289_$",
                                                                    "typeString": "type(contract IERC20)"
                                                                }
                                                            },
                                                            "id": 1796,
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": false,
                                                            "kind": "typeConversion",
                                                            "lValueRequested": false,
                                                            "names": [],
                                                            "nodeType": "FunctionCall",
                                                            "src": "17601:13:7",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_contract$_IERC20_$289",
                                                                "typeString": "contract IERC20"
                                                            }
                                                        },
                                                        "id": 1797,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": false,
                                                        "lValueRequested": false,
                                                        "memberName": "transferFrom",
                                                        "nodeType": "MemberAccess",
                                                        "referencedDeclaration": 272,
                                                        "src": "17601:26:7",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$",
                                                            "typeString": "function (address,address,uint256) external returns (bool)"
                                                        }
                                                    },
                                                    "id": 1804,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "kind": "functionCall",
                                                    "lValueRequested": false,
                                                    "names": [],
                                                    "nodeType": "FunctionCall",
                                                    "src": "17601:58:7",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_bool",
                                                        "typeString": "bool"
                                                    }
                                                },
                                                "id": 1805,
                                                "nodeType": "ExpressionStatement",
                                                "src": "17601:58:7"
                                            },
                                            {
                                                "expression": {
                                                    "argumentTypes": null,
                                                    "id": 1816,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "leftHandSide": {
                                                        "argumentTypes": null,
                                                        "baseExpression": {
                                                            "argumentTypes": null,
                                                            "id": 1806,
                                                            "name": "fees",
                                                            "nodeType": "Identifier",
                                                            "overloadedDeclarations": [],
                                                            "referencedDeclaration": 668,
                                                            "src": "17680:4:7",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                                                                "typeString": "mapping(address => uint256)"
                                                            }
                                                        },
                                                        "id": 1808,
                                                        "indexExpression": {
                                                            "argumentTypes": null,
                                                            "id": 1807,
                                                            "name": "token",
                                                            "nodeType": "Identifier",
                                                            "overloadedDeclarations": [],
                                                            "referencedDeclaration": 1675,
                                                            "src": "17685:5:7",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_address",
                                                                "typeString": "address"
                                                            }
                                                        },
                                                        "isConstant": false,
                                                        "isLValue": true,
                                                        "isPure": false,
                                                        "lValueRequested": true,
                                                        "nodeType": "IndexAccess",
                                                        "src": "17680:11:7",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    "nodeType": "Assignment",
                                                    "operator": "=",
                                                    "rightHandSide": {
                                                        "argumentTypes": null,
                                                        "arguments": [
                                                            {
                                                                "argumentTypes": null,
                                                                "baseExpression": {
                                                                    "argumentTypes": null,
                                                                    "id": 1811,
                                                                    "name": "fees",
                                                                    "nodeType": "Identifier",
                                                                    "overloadedDeclarations": [],
                                                                    "referencedDeclaration": 668,
                                                                    "src": "17703:4:7",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                                                                        "typeString": "mapping(address => uint256)"
                                                                    }
                                                                },
                                                                "id": 1813,
                                                                "indexExpression": {
                                                                    "argumentTypes": null,
                                                                    "id": 1812,
                                                                    "name": "token",
                                                                    "nodeType": "Identifier",
                                                                    "overloadedDeclarations": [],
                                                                    "referencedDeclaration": 1675,
                                                                    "src": "17708:5:7",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_address",
                                                                        "typeString": "address"
                                                                    }
                                                                },
                                                                "isConstant": false,
                                                                "isLValue": true,
                                                                "isPure": false,
                                                                "lValueRequested": false,
                                                                "nodeType": "IndexAccess",
                                                                "src": "17703:11:7",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_uint256",
                                                                    "typeString": "uint256"
                                                                }
                                                            },
                                                            {
                                                                "argumentTypes": null,
                                                                "id": 1814,
                                                                "name": "fee",
                                                                "nodeType": "Identifier",
                                                                "overloadedDeclarations": [],
                                                                "referencedDeclaration": 1706,
                                                                "src": "17716:3:7",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_uint256",
                                                                    "typeString": "uint256"
                                                                }
                                                            }
                                                        ],
                                                        "expression": {
                                                            "argumentTypes": [
                                                                {
                                                                    "typeIdentifier": "t_uint256",
                                                                    "typeString": "uint256"
                                                                },
                                                                {
                                                                    "typeIdentifier": "t_uint256",
                                                                    "typeString": "uint256"
                                                                }
                                                            ],
                                                            "expression": {
                                                                "argumentTypes": null,
                                                                "id": 1809,
                                                                "name": "Math",
                                                                "nodeType": "Identifier",
                                                                "overloadedDeclarations": [],
                                                                "referencedDeclaration": 3941,
                                                                "src": "17694:4:7",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_type$_t_contract$_Math_$3941_$",
                                                                    "typeString": "type(library Math)"
                                                                }
                                                            },
                                                            "id": 1810,
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "memberName": "add",
                                                            "nodeType": "MemberAccess",
                                                            "referencedDeclaration": 3694,
                                                            "src": "17694:8:7",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$",
                                                                "typeString": "function (uint256,uint256) pure returns (uint256)"
                                                            }
                                                        },
                                                        "id": 1815,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": false,
                                                        "kind": "functionCall",
                                                        "lValueRequested": false,
                                                        "names": [],
                                                        "nodeType": "FunctionCall",
                                                        "src": "17694:26:7",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    "src": "17680:40:7",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_uint256",
                                                        "typeString": "uint256"
                                                    }
                                                },
                                                "id": 1817,
                                                "nodeType": "ExpressionStatement",
                                                "src": "17680:40:7"
                                            },
                                            {
                                                "eventCall": {
                                                    "argumentTypes": null,
                                                    "arguments": [
                                                        {
                                                            "argumentTypes": null,
                                                            "baseExpression": {
                                                                "argumentTypes": null,
                                                                "id": 1819,
                                                                "name": "fees",
                                                                "nodeType": "Identifier",
                                                                "overloadedDeclarations": [],
                                                                "referencedDeclaration": 668,
                                                                "src": "17751:4:7",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                                                                    "typeString": "mapping(address => uint256)"
                                                                }
                                                            },
                                                            "id": 1821,
                                                            "indexExpression": {
                                                                "argumentTypes": null,
                                                                "id": 1820,
                                                                "name": "token",
                                                                "nodeType": "Identifier",
                                                                "overloadedDeclarations": [],
                                                                "referencedDeclaration": 1675,
                                                                "src": "17756:5:7",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_address",
                                                                    "typeString": "address"
                                                                }
                                                            },
                                                            "isConstant": false,
                                                            "isLValue": true,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "nodeType": "IndexAccess",
                                                            "src": "17751:11:7",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_uint256",
                                                                "typeString": "uint256"
                                                            }
                                                        },
                                                        {
                                                            "argumentTypes": null,
                                                            "id": 1822,
                                                            "name": "custodyfee",
                                                            "nodeType": "Identifier",
                                                            "overloadedDeclarations": [],
                                                            "referencedDeclaration": 571,
                                                            "src": "17764:10:7",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_uint256",
                                                                "typeString": "uint256"
                                                            }
                                                        },
                                                        {
                                                            "argumentTypes": null,
                                                            "id": 1823,
                                                            "name": "fee",
                                                            "nodeType": "Identifier",
                                                            "overloadedDeclarations": [],
                                                            "referencedDeclaration": 1706,
                                                            "src": "17776:3:7",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_uint256",
                                                                "typeString": "uint256"
                                                            }
                                                        }
                                                    ],
                                                    "expression": {
                                                        "argumentTypes": [
                                                            {
                                                                "typeIdentifier": "t_uint256",
                                                                "typeString": "uint256"
                                                            },
                                                            {
                                                                "typeIdentifier": "t_uint256",
                                                                "typeString": "uint256"
                                                            },
                                                            {
                                                                "typeIdentifier": "t_uint256",
                                                                "typeString": "uint256"
                                                            }
                                                        ],
                                                        "id": 1818,
                                                        "name": "avgBalance",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 1669,
                                                        "src": "17740:10:7",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$",
                                                            "typeString": "function (uint256,uint256,uint256)"
                                                        }
                                                    },
                                                    "id": 1824,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "kind": "functionCall",
                                                    "lValueRequested": false,
                                                    "names": [],
                                                    "nodeType": "FunctionCall",
                                                    "src": "17740:40:7",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_tuple$__$",
                                                        "typeString": "tuple()"
                                                    }
                                                },
                                                "id": 1825,
                                                "nodeType": "EmitStatement",
                                                "src": "17735:45:7"
                                            }
                                        ]
                                    }
                                }
                            ]
                        },
                        "documentation": "This function calculates the average balance for a user and a token\r\n@param _creator vault creator's username, eg creator@email.com\r\n@param _id vault creator's unique id using which it can be reached, eg, its Google/APNS token\r\n@param token token address\r\n@param fromTime time to start calculating token balance from\r\n@param toTime time to end calculating token balance \r",
                        "id": 1829,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [
                            {
                                "arguments": [
                                    {
                                        "argumentTypes": null,
                                        "id": 1682,
                                        "name": "_creator",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 1671,
                                        "src": "16781:8:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                        }
                                    },
                                    {
                                        "argumentTypes": null,
                                        "id": 1683,
                                        "name": "_id",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 1673,
                                        "src": "16791:3:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_calldata_ptr",
                                            "typeString": "string calldata"
                                        }
                                    }
                                ],
                                "id": 1684,
                                "modifierName": {
                                    "argumentTypes": null,
                                    "id": 1681,
                                    "name": "onlySigner",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 695,
                                    "src": "16770:10:7",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_modifier$_t_bytes32_$_t_string_memory_ptr_$",
                                        "typeString": "modifier (bytes32,string memory)"
                                    }
                                },
                                "nodeType": "ModifierInvocation",
                                "src": "16770:25:7"
                            }
                        ],
                        "name": "calculateAverageBalance",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 1680,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 1671,
                                    "name": "_creator",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 1829,
                                    "src": "16682:16:7",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes32",
                                        "typeString": "bytes32"
                                    },
                                    "typeName": {
                                        "id": 1670,
                                        "name": "bytes32",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "16682:7:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 1673,
                                    "name": "_id",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 1829,
                                    "src": "16700:19:7",
                                    "stateVariable": false,
                                    "storageLocation": "calldata",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_calldata_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 1672,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "16700:6:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 1675,
                                    "name": "token",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 1829,
                                    "src": "16721:13:7",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 1674,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "16721:7:7",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 1677,
                                    "name": "fromTime",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 1829,
                                    "src": "16736:16:7",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 1676,
                                        "name": "uint256",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "16736:7:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 1679,
                                    "name": "toTime",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 1829,
                                    "src": "16754:14:7",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 1678,
                                        "name": "uint256",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "16754:7:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                }
                            ],
                            "src": "16681:88:7"
                        },
                        "returnParameters": {
                            "id": 1685,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "16805:0:7"
                        },
                        "scope": 1949,
                        "src": "16649:1151:7",
                        "stateMutability": "nonpayable",
                        "superFunction": 510,
                        "visibility": "external"
                    },
                    {
                        "body": {
                            "id": 1881,
                            "nodeType": "Block",
                            "src": "18020:372:7",
                            "statements": [
                                {
                                    "expression": {
                                        "argumentTypes": null,
                                        "arguments": [
                                            {
                                                "argumentTypes": null,
                                                "commonType": {
                                                    "typeIdentifier": "t_address",
                                                    "typeString": "address"
                                                },
                                                "id": 1840,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "leftExpression": {
                                                    "argumentTypes": null,
                                                    "expression": {
                                                        "argumentTypes": null,
                                                        "id": 1837,
                                                        "name": "msg",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 3956,
                                                        "src": "18039:3:7",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_message",
                                                            "typeString": "msg"
                                                        }
                                                    },
                                                    "id": 1838,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "memberName": "sender",
                                                    "nodeType": "MemberAccess",
                                                    "referencedDeclaration": null,
                                                    "src": "18039:10:7",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_address_payable",
                                                        "typeString": "address payable"
                                                    }
                                                },
                                                "nodeType": "BinaryOperation",
                                                "operator": "==",
                                                "rightExpression": {
                                                    "argumentTypes": null,
                                                    "id": 1839,
                                                    "name": "distributor",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 569,
                                                    "src": "18051:11:7",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_address",
                                                        "typeString": "address"
                                                    }
                                                },
                                                "src": "18039:23:7",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bool",
                                                    "typeString": "bool"
                                                }
                                            },
                                            {
                                                "argumentTypes": null,
                                                "hexValue": "556e617574686f72697a65642066656520636f6c6c656374696f6e",
                                                "id": 1841,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": true,
                                                "kind": "string",
                                                "lValueRequested": false,
                                                "nodeType": "Literal",
                                                "src": "18064:29:7",
                                                "subdenomination": null,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_stringliteral_520c74523a45f0fb030503010667d8fc574cfd834ba56c4e6f6de8f27996ed35",
                                                    "typeString": "literal_string \"Unauthorized fee collection\""
                                                },
                                                "value": "Unauthorized fee collection"
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bool",
                                                    "typeString": "bool"
                                                },
                                                {
                                                    "typeIdentifier": "t_stringliteral_520c74523a45f0fb030503010667d8fc574cfd834ba56c4e6f6de8f27996ed35",
                                                    "typeString": "literal_string \"Unauthorized fee collection\""
                                                }
                                            ],
                                            "id": 1836,
                                            "name": "require",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [
                                                3959,
                                                3960
                                            ],
                                            "referencedDeclaration": 3960,
                                            "src": "18031:7:7",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                                                "typeString": "function (bool,string memory) pure"
                                            }
                                        },
                                        "id": 1842,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "18031:63:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 1843,
                                    "nodeType": "ExpressionStatement",
                                    "src": "18031:63:7"
                                },
                                {
                                    "assignments": [
                                        1845
                                    ],
                                    "declarations": [
                                        {
                                            "constant": false,
                                            "id": 1845,
                                            "name": "feeCollected",
                                            "nodeType": "VariableDeclaration",
                                            "scope": 1881,
                                            "src": "18105:20:7",
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                            },
                                            "typeName": {
                                                "id": 1844,
                                                "name": "uint256",
                                                "nodeType": "ElementaryTypeName",
                                                "src": "18105:7:7",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                }
                                            },
                                            "value": null,
                                            "visibility": "internal"
                                        }
                                    ],
                                    "id": 1849,
                                    "initialValue": {
                                        "argumentTypes": null,
                                        "baseExpression": {
                                            "argumentTypes": null,
                                            "id": 1846,
                                            "name": "fees",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 668,
                                            "src": "18128:4:7",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                                                "typeString": "mapping(address => uint256)"
                                            }
                                        },
                                        "id": 1848,
                                        "indexExpression": {
                                            "argumentTypes": null,
                                            "id": 1847,
                                            "name": "_token",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 1831,
                                            "src": "18133:6:7",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_address",
                                                "typeString": "address"
                                            }
                                        },
                                        "isConstant": false,
                                        "isLValue": true,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "nodeType": "IndexAccess",
                                        "src": "18128:12:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "nodeType": "VariableDeclarationStatement",
                                    "src": "18105:35:7"
                                },
                                {
                                    "expression": {
                                        "argumentTypes": null,
                                        "id": 1860,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "leftHandSide": {
                                            "argumentTypes": null,
                                            "baseExpression": {
                                                "argumentTypes": null,
                                                "id": 1850,
                                                "name": "fees",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 668,
                                                "src": "18159:4:7",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                                                    "typeString": "mapping(address => uint256)"
                                                }
                                            },
                                            "id": 1852,
                                            "indexExpression": {
                                                "argumentTypes": null,
                                                "id": 1851,
                                                "name": "_token",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 1831,
                                                "src": "18164:6:7",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_address",
                                                    "typeString": "address"
                                                }
                                            },
                                            "isConstant": false,
                                            "isLValue": true,
                                            "isPure": false,
                                            "lValueRequested": true,
                                            "nodeType": "IndexAccess",
                                            "src": "18159:12:7",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                            }
                                        },
                                        "nodeType": "Assignment",
                                        "operator": "=",
                                        "rightHandSide": {
                                            "argumentTypes": null,
                                            "arguments": [
                                                {
                                                    "argumentTypes": null,
                                                    "baseExpression": {
                                                        "argumentTypes": null,
                                                        "id": 1855,
                                                        "name": "fees",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 668,
                                                        "src": "18183:4:7",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                                                            "typeString": "mapping(address => uint256)"
                                                        }
                                                    },
                                                    "id": 1857,
                                                    "indexExpression": {
                                                        "argumentTypes": null,
                                                        "id": 1856,
                                                        "name": "_token",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 1831,
                                                        "src": "18188:6:7",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    "isConstant": false,
                                                    "isLValue": true,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "nodeType": "IndexAccess",
                                                    "src": "18183:12:7",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_uint256",
                                                        "typeString": "uint256"
                                                    }
                                                },
                                                {
                                                    "argumentTypes": null,
                                                    "id": 1858,
                                                    "name": "feeCollected",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 1845,
                                                    "src": "18197:12:7",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_uint256",
                                                        "typeString": "uint256"
                                                    }
                                                }
                                            ],
                                            "expression": {
                                                "argumentTypes": [
                                                    {
                                                        "typeIdentifier": "t_uint256",
                                                        "typeString": "uint256"
                                                    },
                                                    {
                                                        "typeIdentifier": "t_uint256",
                                                        "typeString": "uint256"
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": null,
                                                    "id": 1853,
                                                    "name": "Math",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 3941,
                                                    "src": "18174:4:7",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_type$_t_contract$_Math_$3941_$",
                                                        "typeString": "type(library Math)"
                                                    }
                                                },
                                                "id": 1854,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "memberName": "sub",
                                                "nodeType": "MemberAccess",
                                                "referencedDeclaration": 3758,
                                                "src": "18174:8:7",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$",
                                                    "typeString": "function (uint256,uint256) pure returns (uint256)"
                                                }
                                            },
                                            "id": 1859,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "kind": "functionCall",
                                            "lValueRequested": false,
                                            "names": [],
                                            "nodeType": "FunctionCall",
                                            "src": "18174:36:7",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                            }
                                        },
                                        "src": "18159:51:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "id": 1861,
                                    "nodeType": "ExpressionStatement",
                                    "src": "18159:51:7"
                                },
                                {
                                    "expression": {
                                        "argumentTypes": null,
                                        "arguments": [
                                            {
                                                "argumentTypes": null,
                                                "id": 1866,
                                                "name": "distributor",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 569,
                                                "src": "18253:11:7",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_address",
                                                    "typeString": "address"
                                                }
                                            },
                                            {
                                                "argumentTypes": null,
                                                "id": 1867,
                                                "name": "feeCollected",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 1845,
                                                "src": "18266:12:7",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_address",
                                                    "typeString": "address"
                                                },
                                                {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                }
                                            ],
                                            "expression": {
                                                "argumentTypes": null,
                                                "arguments": [
                                                    {
                                                        "argumentTypes": null,
                                                        "id": 1863,
                                                        "name": "_token",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 1831,
                                                        "src": "18236:6:7",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "id": 1862,
                                                    "name": "IERC20",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 289,
                                                    "src": "18229:6:7",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_type$_t_contract$_IERC20_$289_$",
                                                        "typeString": "type(contract IERC20)"
                                                    }
                                                },
                                                "id": 1864,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "typeConversion",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "18229:14:7",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_contract$_IERC20_$289",
                                                    "typeString": "contract IERC20"
                                                }
                                            },
                                            "id": 1865,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "memberName": "transfer",
                                            "nodeType": "MemberAccess",
                                            "referencedDeclaration": 243,
                                            "src": "18229:23:7",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$",
                                                "typeString": "function (address,uint256) external returns (bool)"
                                            }
                                        },
                                        "id": 1868,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "18229:50:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "id": 1869,
                                    "nodeType": "ExpressionStatement",
                                    "src": "18229:50:7"
                                },
                                {
                                    "eventCall": {
                                        "argumentTypes": null,
                                        "arguments": [
                                            {
                                                "argumentTypes": null,
                                                "arguments": [
                                                    {
                                                        "argumentTypes": null,
                                                        "id": 1872,
                                                        "name": "this",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 3990,
                                                        "src": "18317:4:7",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_contract$_Vault_$1949",
                                                            "typeString": "contract Vault"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_contract$_Vault_$1949",
                                                            "typeString": "contract Vault"
                                                        }
                                                    ],
                                                    "id": 1871,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "nodeType": "ElementaryTypeNameExpression",
                                                    "src": "18309:7:7",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_type$_t_address_$",
                                                        "typeString": "type(address)"
                                                    },
                                                    "typeName": "address"
                                                },
                                                "id": 1873,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "typeConversion",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "18309:13:7",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_address",
                                                    "typeString": "address"
                                                }
                                            },
                                            {
                                                "argumentTypes": null,
                                                "id": 1874,
                                                "name": "feeCollected",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 1845,
                                                "src": "18324:12:7",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                }
                                            },
                                            {
                                                "argumentTypes": null,
                                                "expression": {
                                                    "argumentTypes": null,
                                                    "id": 1875,
                                                    "name": "block",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 3946,
                                                    "src": "18338:5:7",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_magic_block",
                                                        "typeString": "block"
                                                    }
                                                },
                                                "id": 1876,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "memberName": "timestamp",
                                                "nodeType": "MemberAccess",
                                                "referencedDeclaration": null,
                                                "src": "18338:15:7",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_address",
                                                    "typeString": "address"
                                                },
                                                {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                },
                                                {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                }
                                            ],
                                            "id": 1870,
                                            "name": "feecollection",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 652,
                                            "src": "18295:13:7",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$",
                                                "typeString": "function (address,uint256,uint256)"
                                            }
                                        },
                                        "id": 1877,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "18295:59:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 1878,
                                    "nodeType": "EmitStatement",
                                    "src": "18290:64:7"
                                },
                                {
                                    "expression": {
                                        "argumentTypes": null,
                                        "id": 1879,
                                        "name": "feeCollected",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 1845,
                                        "src": "18372:12:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "functionReturnParameters": 1835,
                                    "id": 1880,
                                    "nodeType": "Return",
                                    "src": "18365:19:7"
                                }
                            ]
                        },
                        "documentation": "This function gets the shard for a participant\r\n@param _token vault creator's username, eg creator@email.com\r",
                        "id": 1882,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "collectCustodyFee",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 1832,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 1831,
                                    "name": "_token",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 1882,
                                    "src": "17979:14:7",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 1830,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "17979:7:7",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                }
                            ],
                            "src": "17978:16:7"
                        },
                        "returnParameters": {
                            "id": 1835,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 1834,
                                    "name": "",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 1882,
                                    "src": "18012:7:7",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 1833,
                                        "name": "uint256",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "18012:7:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                }
                            ],
                            "src": "18011:9:7"
                        },
                        "scope": 1949,
                        "src": "17952:440:7",
                        "stateMutability": "nonpayable",
                        "superFunction": 517,
                        "visibility": "external"
                    },
                    {
                        "body": {
                            "id": 1915,
                            "nodeType": "Block",
                            "src": "18643:357:7",
                            "statements": [
                                {
                                    "assignments": [
                                        1890
                                    ],
                                    "declarations": [
                                        {
                                            "constant": false,
                                            "id": 1890,
                                            "name": "tokenDecimals",
                                            "nodeType": "VariableDeclaration",
                                            "scope": 1915,
                                            "src": "18735:21:7",
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                            },
                                            "typeName": {
                                                "id": 1889,
                                                "name": "uint256",
                                                "nodeType": "ElementaryTypeName",
                                                "src": "18735:7:7",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                }
                                            },
                                            "value": null,
                                            "visibility": "internal"
                                        }
                                    ],
                                    "id": 1898,
                                    "initialValue": {
                                        "argumentTypes": null,
                                        "arguments": [],
                                        "expression": {
                                            "argumentTypes": [],
                                            "expression": {
                                                "argumentTypes": null,
                                                "arguments": [
                                                    {
                                                        "argumentTypes": null,
                                                        "arguments": [
                                                            {
                                                                "argumentTypes": null,
                                                                "id": 1893,
                                                                "name": "token",
                                                                "nodeType": "Identifier",
                                                                "overloadedDeclarations": [],
                                                                "referencedDeclaration": 1884,
                                                                "src": "18781:5:7",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_contract$_IERC20_$289",
                                                                    "typeString": "contract IERC20"
                                                                }
                                                            }
                                                        ],
                                                        "expression": {
                                                            "argumentTypes": [
                                                                {
                                                                    "typeIdentifier": "t_contract$_IERC20_$289",
                                                                    "typeString": "contract IERC20"
                                                                }
                                                            ],
                                                            "id": 1892,
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": true,
                                                            "lValueRequested": false,
                                                            "nodeType": "ElementaryTypeNameExpression",
                                                            "src": "18773:7:7",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_type$_t_address_$",
                                                                "typeString": "type(address)"
                                                            },
                                                            "typeName": "address"
                                                        },
                                                        "id": 1894,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": false,
                                                        "kind": "typeConversion",
                                                        "lValueRequested": false,
                                                        "names": [],
                                                        "nodeType": "FunctionCall",
                                                        "src": "18773:14:7",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    ],
                                                    "id": 1891,
                                                    "name": "ERC20Detailed",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 220,
                                                    "src": "18759:13:7",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_type$_t_contract$_ERC20Detailed_$220_$",
                                                        "typeString": "type(contract ERC20Detailed)"
                                                    }
                                                },
                                                "id": 1895,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "typeConversion",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "18759:29:7",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_contract$_ERC20Detailed_$220",
                                                    "typeString": "contract ERC20Detailed"
                                                }
                                            },
                                            "id": 1896,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "memberName": "decimals",
                                            "nodeType": "MemberAccess",
                                            "referencedDeclaration": 215,
                                            "src": "18759:38:7",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_external_view$__$returns$_t_uint8_$",
                                                "typeString": "function () view external returns (uint8)"
                                            }
                                        },
                                        "id": 1897,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "18759:40:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint8",
                                            "typeString": "uint8"
                                        }
                                    },
                                    "nodeType": "VariableDeclarationStatement",
                                    "src": "18735:64:7"
                                },
                                {
                                    "assignments": [
                                        1900
                                    ],
                                    "declarations": [
                                        {
                                            "constant": false,
                                            "id": 1900,
                                            "name": "decimalsDifference",
                                            "nodeType": "VariableDeclaration",
                                            "scope": 1915,
                                            "src": "18877:26:7",
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                            },
                                            "typeName": {
                                                "id": 1899,
                                                "name": "uint256",
                                                "nodeType": "ElementaryTypeName",
                                                "src": "18877:7:7",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                }
                                            },
                                            "value": null,
                                            "visibility": "internal"
                                        }
                                    ],
                                    "id": 1906,
                                    "initialValue": {
                                        "argumentTypes": null,
                                        "arguments": [
                                            {
                                                "argumentTypes": null,
                                                "hexValue": "3138",
                                                "id": 1903,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": true,
                                                "kind": "number",
                                                "lValueRequested": false,
                                                "nodeType": "Literal",
                                                "src": "18915:2:7",
                                                "subdenomination": null,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_rational_18_by_1",
                                                    "typeString": "int_const 18"
                                                },
                                                "value": "18"
                                            },
                                            {
                                                "argumentTypes": null,
                                                "id": 1904,
                                                "name": "tokenDecimals",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 1890,
                                                "src": "18919:13:7",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_rational_18_by_1",
                                                    "typeString": "int_const 18"
                                                },
                                                {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                }
                                            ],
                                            "expression": {
                                                "argumentTypes": null,
                                                "id": 1901,
                                                "name": "Math",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 3941,
                                                "src": "18906:4:7",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_type$_t_contract$_Math_$3941_$",
                                                    "typeString": "type(library Math)"
                                                }
                                            },
                                            "id": 1902,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "memberName": "sub",
                                            "nodeType": "MemberAccess",
                                            "referencedDeclaration": 3758,
                                            "src": "18906:8:7",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$",
                                                "typeString": "function (uint256,uint256) pure returns (uint256)"
                                            }
                                        },
                                        "id": 1905,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "18906:27:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "nodeType": "VariableDeclarationStatement",
                                    "src": "18877:56:7"
                                },
                                {
                                    "expression": {
                                        "argumentTypes": null,
                                        "commonType": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        },
                                        "id": 1913,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "leftExpression": {
                                            "argumentTypes": null,
                                            "arguments": [],
                                            "expression": {
                                                "argumentTypes": [],
                                                "expression": {
                                                    "argumentTypes": null,
                                                    "id": 1907,
                                                    "name": "FixedPoint",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 2367,
                                                    "src": "18951:10:7",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_type$_t_contract$_FixedPoint_$2367_$",
                                                        "typeString": "type(library FixedPoint)"
                                                    }
                                                },
                                                "id": 1908,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "memberName": "one",
                                                "nodeType": "MemberAccess",
                                                "referencedDeclaration": 1979,
                                                "src": "18951:14:7",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_function_delegatecall_pure$__$returns$_t_uint256_$",
                                                    "typeString": "function () pure returns (uint256)"
                                                }
                                            },
                                            "id": 1909,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "kind": "functionCall",
                                            "lValueRequested": false,
                                            "names": [],
                                            "nodeType": "FunctionCall",
                                            "src": "18951:16:7",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                            }
                                        },
                                        "nodeType": "BinaryOperation",
                                        "operator": "*",
                                        "rightExpression": {
                                            "argumentTypes": null,
                                            "commonType": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                            },
                                            "id": 1912,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "leftExpression": {
                                                "argumentTypes": null,
                                                "hexValue": "3130",
                                                "id": 1910,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": true,
                                                "kind": "number",
                                                "lValueRequested": false,
                                                "nodeType": "Literal",
                                                "src": "18970:2:7",
                                                "subdenomination": null,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_rational_10_by_1",
                                                    "typeString": "int_const 10"
                                                },
                                                "value": "10"
                                            },
                                            "nodeType": "BinaryOperation",
                                            "operator": "**",
                                            "rightExpression": {
                                                "argumentTypes": null,
                                                "id": 1911,
                                                "name": "decimalsDifference",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 1900,
                                                "src": "18974:18:7",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                }
                                            },
                                            "src": "18970:22:7",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                            }
                                        },
                                        "src": "18951:41:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "functionReturnParameters": 1888,
                                    "id": 1914,
                                    "nodeType": "Return",
                                    "src": "18944:48:7"
                                }
                            ]
                        },
                        "documentation": "@dev Returns a scaling factor that, when multiplied to a token amount for `token`, normalizes its balance as if\r\nit had 18 decimals.\r",
                        "id": 1916,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "_computeScalingFactor",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 1885,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 1884,
                                    "name": "token",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 1916,
                                    "src": "18597:12:7",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_contract$_IERC20_$289",
                                        "typeString": "contract IERC20"
                                    },
                                    "typeName": {
                                        "contractScope": null,
                                        "id": 1883,
                                        "name": "IERC20",
                                        "nodeType": "UserDefinedTypeName",
                                        "referencedDeclaration": 289,
                                        "src": "18597:6:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_contract$_IERC20_$289",
                                            "typeString": "contract IERC20"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                }
                            ],
                            "src": "18596:14:7"
                        },
                        "returnParameters": {
                            "id": 1888,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 1887,
                                    "name": "",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 1916,
                                    "src": "18634:7:7",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 1886,
                                        "name": "uint256",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "18634:7:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                }
                            ],
                            "src": "18633:9:7"
                        },
                        "scope": 1949,
                        "src": "18566:434:7",
                        "stateMutability": "view",
                        "superFunction": null,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 1931,
                            "nodeType": "Block",
                            "src": "19305:67:7",
                            "statements": [
                                {
                                    "expression": {
                                        "argumentTypes": null,
                                        "arguments": [
                                            {
                                                "argumentTypes": null,
                                                "id": 1927,
                                                "name": "amount",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 1918,
                                                "src": "19342:6:7",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                }
                                            },
                                            {
                                                "argumentTypes": null,
                                                "id": 1928,
                                                "name": "scalingFactor",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 1920,
                                                "src": "19350:13:7",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                },
                                                {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                }
                                            ],
                                            "expression": {
                                                "argumentTypes": null,
                                                "id": 1925,
                                                "name": "FixedPoint",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 2367,
                                                "src": "19323:10:7",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_type$_t_contract$_FixedPoint_$2367_$",
                                                    "typeString": "type(library FixedPoint)"
                                                }
                                            },
                                            "id": 1926,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "memberName": "divDown",
                                            "nodeType": "MemberAccess",
                                            "referencedDeclaration": 2153,
                                            "src": "19323:18:7",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$",
                                                "typeString": "function (uint256,uint256) pure returns (uint256)"
                                            }
                                        },
                                        "id": 1929,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "19323:41:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "functionReturnParameters": 1924,
                                    "id": 1930,
                                    "nodeType": "Return",
                                    "src": "19316:48:7"
                                }
                            ]
                        },
                        "documentation": "@dev Reverses the `scalingFactor` applied to `amount`, resulting in a smaller or equal value depending on\r\nwhether it needed scaling or not. The result is rounded down.\r",
                        "id": 1932,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "_downscaleDown",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 1921,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 1918,
                                    "name": "amount",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 1932,
                                    "src": "19234:14:7",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 1917,
                                        "name": "uint256",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "19234:7:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 1920,
                                    "name": "scalingFactor",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 1932,
                                    "src": "19250:21:7",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 1919,
                                        "name": "uint256",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "19250:7:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                }
                            ],
                            "src": "19233:39:7"
                        },
                        "returnParameters": {
                            "id": 1924,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 1923,
                                    "name": "",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 1932,
                                    "src": "19296:7:7",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 1922,
                                        "name": "uint256",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "19296:7:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                }
                            ],
                            "src": "19295:9:7"
                        },
                        "scope": 1949,
                        "src": "19210:162:7",
                        "stateMutability": "pure",
                        "superFunction": null,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 1947,
                            "nodeType": "Block",
                            "src": "19629:496:7",
                            "statements": [
                                {
                                    "expression": {
                                        "argumentTypes": null,
                                        "arguments": [
                                            {
                                                "argumentTypes": null,
                                                "id": 1943,
                                                "name": "amount",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 1934,
                                                "src": "20095:6:7",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                }
                                            },
                                            {
                                                "argumentTypes": null,
                                                "id": 1944,
                                                "name": "scalingFactor",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 1936,
                                                "src": "20103:13:7",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                },
                                                {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                }
                                            ],
                                            "expression": {
                                                "argumentTypes": null,
                                                "id": 1941,
                                                "name": "FixedPoint",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 2367,
                                                "src": "20076:10:7",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_type$_t_contract$_FixedPoint_$2367_$",
                                                    "typeString": "type(library FixedPoint)"
                                                }
                                            },
                                            "id": 1942,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "memberName": "mulDown",
                                            "nodeType": "MemberAccess",
                                            "referencedDeclaration": 2062,
                                            "src": "20076:18:7",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$",
                                                "typeString": "function (uint256,uint256) pure returns (uint256)"
                                            }
                                        },
                                        "id": 1945,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "20076:41:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "functionReturnParameters": 1940,
                                    "id": 1946,
                                    "nodeType": "Return",
                                    "src": "20069:48:7"
                                }
                            ]
                        },
                        "documentation": "@dev Applies `scalingFactor` to `amount`, resulting in a larger or equal value depending on whether it needed\r\nscaling or not.\r",
                        "id": 1948,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "_upscale",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 1937,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 1934,
                                    "name": "amount",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 1948,
                                    "src": "19558:14:7",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 1933,
                                        "name": "uint256",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "19558:7:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 1936,
                                    "name": "scalingFactor",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 1948,
                                    "src": "19574:21:7",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 1935,
                                        "name": "uint256",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "19574:7:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                }
                            ],
                            "src": "19557:39:7"
                        },
                        "returnParameters": {
                            "id": 1940,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 1939,
                                    "name": "",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 1948,
                                    "src": "19620:7:7",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 1938,
                                        "name": "uint256",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "19620:7:7",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                }
                            ],
                            "src": "19619:9:7"
                        },
                        "scope": 1949,
                        "src": "19540:585:7",
                        "stateMutability": "pure",
                        "superFunction": null,
                        "visibility": "internal"
                    }
                ],
                "scope": 1950,
                "src": "558:19572:7"
            }
        ],
        "src": "150:19980:7"
    },
    "legacyAST": {
        "attributes": {
            "absolutePath": "project:/contracts/Vault.sol",
            "exportedSymbols": {
                "Vault": [
                    1949
                ]
            }
        },
        "children": [
            {
                "attributes": {
                    "literals": [
                        "solidity",
                        "0.5",
                        ".7"
                    ]
                },
                "id": 553,
                "name": "PragmaDirective",
                "src": "150:22:7"
            },
            {
                "attributes": {
                    "literals": [
                        "experimental",
                        "ABIEncoderV2"
                    ]
                },
                "id": 554,
                "name": "PragmaDirective",
                "src": "174:33:7"
            },
            {
                "attributes": {
                    "SourceUnit": 519,
                    "absolutePath": "project:/contracts/IVault.sol",
                    "file": "./IVault.sol",
                    "scope": 1950,
                    "symbolAliases": [
                        null
                    ],
                    "unitAlias": ""
                },
                "id": 555,
                "name": "ImportDirective",
                "src": "211:22:7"
            },
            {
                "attributes": {
                    "SourceUnit": 3942,
                    "absolutePath": "project:/contracts/math/Math.sol",
                    "file": "./math/Math.sol",
                    "scope": 1950,
                    "symbolAliases": [
                        null
                    ],
                    "unitAlias": ""
                },
                "id": 556,
                "name": "ImportDirective",
                "src": "235:25:7"
            },
            {
                "attributes": {
                    "SourceUnit": 2368,
                    "absolutePath": "project:/contracts/math/FixedPoint.sol",
                    "file": "./math/FixedPoint.sol",
                    "scope": 1950,
                    "symbolAliases": [
                        null
                    ],
                    "unitAlias": ""
                },
                "id": 557,
                "name": "ImportDirective",
                "src": "262:31:7"
            },
            {
                "attributes": {
                    "SourceUnit": 154,
                    "absolutePath": "@openzeppelin/contracts-ethereum-package/contracts/ownership/Ownable.sol",
                    "file": "@openzeppelin/contracts-ethereum-package/contracts/ownership/Ownable.sol",
                    "scope": 1950,
                    "symbolAliases": [
                        null
                    ],
                    "unitAlias": ""
                },
                "id": 558,
                "name": "ImportDirective",
                "src": "295:82:7"
            },
            {
                "attributes": {
                    "SourceUnit": 290,
                    "absolutePath": "@openzeppelin/contracts-ethereum-package/contracts/token/ERC20/IERC20.sol",
                    "file": "@openzeppelin/contracts-ethereum-package/contracts/token/ERC20/IERC20.sol",
                    "scope": 1950,
                    "symbolAliases": [
                        null
                    ],
                    "unitAlias": ""
                },
                "id": 559,
                "name": "ImportDirective",
                "src": "379:83:7"
            },
            {
                "attributes": {
                    "SourceUnit": 221,
                    "absolutePath": "@openzeppelin/contracts-ethereum-package/contracts/token/ERC20/ERC20Detailed.sol",
                    "file": "@openzeppelin/contracts-ethereum-package/contracts/token/ERC20/ERC20Detailed.sol",
                    "scope": 1950,
                    "symbolAliases": [
                        null
                    ],
                    "unitAlias": ""
                },
                "id": 560,
                "name": "ImportDirective",
                "src": "464:90:7"
            },
            {
                "attributes": {
                    "contractDependencies": [
                        29,
                        153,
                        358,
                        518
                    ],
                    "contractKind": "contract",
                    "documentation": null,
                    "fullyImplemented": true,
                    "linearizedBaseContracts": [
                        1949,
                        153,
                        29,
                        358,
                        518
                    ],
                    "name": "Vault",
                    "scope": 1950
                },
                "children": [
                    {
                        "attributes": {
                            "arguments": null
                        },
                        "children": [
                            {
                                "attributes": {
                                    "contractScope": null,
                                    "name": "IVault",
                                    "referencedDeclaration": 518,
                                    "type": "contract IVault"
                                },
                                "id": 561,
                                "name": "UserDefinedTypeName",
                                "src": "576:6:7"
                            }
                        ],
                        "id": 562,
                        "name": "InheritanceSpecifier",
                        "src": "576:6:7"
                    },
                    {
                        "attributes": {
                            "arguments": null
                        },
                        "children": [
                            {
                                "attributes": {
                                    "contractScope": null,
                                    "name": "Ownable",
                                    "referencedDeclaration": 153,
                                    "type": "contract Ownable"
                                },
                                "id": 563,
                                "name": "UserDefinedTypeName",
                                "src": "584:7:7"
                            }
                        ],
                        "id": 564,
                        "name": "InheritanceSpecifier",
                        "src": "584:7:7"
                    },
                    {
                        "children": [
                            {
                                "attributes": {
                                    "contractScope": null,
                                    "name": "FixedPoint",
                                    "referencedDeclaration": 2367,
                                    "type": "library FixedPoint"
                                },
                                "id": 565,
                                "name": "UserDefinedTypeName",
                                "src": "607:10:7"
                            },
                            {
                                "attributes": {
                                    "name": "uint256",
                                    "type": "uint256"
                                },
                                "id": 566,
                                "name": "ElementaryTypeName",
                                "src": "622:7:7"
                            }
                        ],
                        "id": 567,
                        "name": "UsingForDirective",
                        "src": "601:29:7"
                    },
                    {
                        "attributes": {
                            "constant": false,
                            "name": "distributor",
                            "scope": 1949,
                            "stateVariable": true,
                            "storageLocation": "default",
                            "type": "address",
                            "value": null,
                            "visibility": "private"
                        },
                        "children": [
                            {
                                "attributes": {
                                    "name": "address",
                                    "stateMutability": "nonpayable",
                                    "type": "address"
                                },
                                "id": 568,
                                "name": "ElementaryTypeName",
                                "src": "691:7:7"
                            }
                        ],
                        "id": 569,
                        "name": "VariableDeclaration",
                        "src": "691:27:7"
                    },
                    {
                        "attributes": {
                            "constant": false,
                            "name": "custodyfee",
                            "scope": 1949,
                            "stateVariable": true,
                            "storageLocation": "default",
                            "type": "uint256",
                            "value": null,
                            "visibility": "private"
                        },
                        "children": [
                            {
                                "attributes": {
                                    "name": "uint256",
                                    "type": "uint256"
                                },
                                "id": 570,
                                "name": "ElementaryTypeName",
                                "src": "790:7:7"
                            }
                        ],
                        "id": 571,
                        "name": "VariableDeclaration",
                        "src": "790:26:7"
                    },
                    {
                        "attributes": {
                            "constant": false,
                            "name": "txid",
                            "scope": 1949,
                            "stateVariable": true,
                            "storageLocation": "default",
                            "type": "uint256",
                            "value": null,
                            "visibility": "private"
                        },
                        "children": [
                            {
                                "attributes": {
                                    "name": "uint256",
                                    "type": "uint256"
                                },
                                "id": 572,
                                "name": "ElementaryTypeName",
                                "src": "870:7:7"
                            }
                        ],
                        "id": 573,
                        "name": "VariableDeclaration",
                        "src": "870:20:7"
                    },
                    {
                        "attributes": {
                            "constant": false,
                            "name": "signers",
                            "scope": 1949,
                            "stateVariable": true,
                            "storageLocation": "default",
                            "type": "mapping(address => bytes32[])",
                            "value": null,
                            "visibility": "private"
                        },
                        "children": [
                            {
                                "attributes": {
                                    "type": "mapping(address => bytes32[])"
                                },
                                "children": [
                                    {
                                        "attributes": {
                                            "name": "address",
                                            "type": "address"
                                        },
                                        "id": 574,
                                        "name": "ElementaryTypeName",
                                        "src": "962:7:7"
                                    },
                                    {
                                        "attributes": {
                                            "length": null,
                                            "type": "bytes32[]"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "bytes32",
                                                    "type": "bytes32"
                                                },
                                                "id": 575,
                                                "name": "ElementaryTypeName",
                                                "src": "973:7:7"
                                            }
                                        ],
                                        "id": 576,
                                        "name": "ArrayTypeName",
                                        "src": "973:9:7"
                                    }
                                ],
                                "id": 577,
                                "name": "Mapping",
                                "src": "954:29:7"
                            }
                        ],
                        "id": 578,
                        "name": "VariableDeclaration",
                        "src": "954:45:7"
                    },
                    {
                        "attributes": {
                            "constant": false,
                            "name": "creators",
                            "scope": 1949,
                            "stateVariable": true,
                            "storageLocation": "default",
                            "type": "mapping(bytes32 => string)",
                            "value": null,
                            "visibility": "private"
                        },
                        "children": [
                            {
                                "attributes": {
                                    "type": "mapping(bytes32 => string)"
                                },
                                "children": [
                                    {
                                        "attributes": {
                                            "name": "bytes32",
                                            "type": "bytes32"
                                        },
                                        "id": 579,
                                        "name": "ElementaryTypeName",
                                        "src": "1148:7:7"
                                    },
                                    {
                                        "attributes": {
                                            "name": "string",
                                            "type": "string"
                                        },
                                        "id": 580,
                                        "name": "ElementaryTypeName",
                                        "src": "1159:6:7"
                                    }
                                ],
                                "id": 581,
                                "name": "Mapping",
                                "src": "1140:26:7"
                            }
                        ],
                        "id": 582,
                        "name": "VariableDeclaration",
                        "src": "1140:43:7"
                    },
                    {
                        "attributes": {
                            "constant": false,
                            "name": "vaults",
                            "scope": 1949,
                            "stateVariable": true,
                            "storageLocation": "default",
                            "type": "mapping(bytes32 => bytes32[])",
                            "value": null,
                            "visibility": "private"
                        },
                        "children": [
                            {
                                "attributes": {
                                    "type": "mapping(bytes32 => bytes32[])"
                                },
                                "children": [
                                    {
                                        "attributes": {
                                            "name": "bytes32",
                                            "type": "bytes32"
                                        },
                                        "id": 583,
                                        "name": "ElementaryTypeName",
                                        "src": "1351:7:7"
                                    },
                                    {
                                        "attributes": {
                                            "length": null,
                                            "type": "bytes32[]"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "bytes32",
                                                    "type": "bytes32"
                                                },
                                                "id": 584,
                                                "name": "ElementaryTypeName",
                                                "src": "1362:7:7"
                                            }
                                        ],
                                        "id": 585,
                                        "name": "ArrayTypeName",
                                        "src": "1362:9:7"
                                    }
                                ],
                                "id": 586,
                                "name": "Mapping",
                                "src": "1343:29:7"
                            }
                        ],
                        "id": 587,
                        "name": "VariableDeclaration",
                        "src": "1343:44:7"
                    },
                    {
                        "attributes": {
                            "constant": false,
                            "name": "cosigners",
                            "scope": 1949,
                            "stateVariable": true,
                            "storageLocation": "default",
                            "type": "mapping(bytes32 => mapping(bytes32 => uint256))",
                            "value": null,
                            "visibility": "private"
                        },
                        "children": [
                            {
                                "attributes": {
                                    "type": "mapping(bytes32 => mapping(bytes32 => uint256))"
                                },
                                "children": [
                                    {
                                        "attributes": {
                                            "name": "bytes32",
                                            "type": "bytes32"
                                        },
                                        "id": 588,
                                        "name": "ElementaryTypeName",
                                        "src": "1508:7:7"
                                    },
                                    {
                                        "attributes": {
                                            "type": "mapping(bytes32 => uint256)"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "bytes32",
                                                    "type": "bytes32"
                                                },
                                                "id": 589,
                                                "name": "ElementaryTypeName",
                                                "src": "1527:7:7"
                                            },
                                            {
                                                "attributes": {
                                                    "name": "uint256",
                                                    "type": "uint256"
                                                },
                                                "id": 590,
                                                "name": "ElementaryTypeName",
                                                "src": "1538:7:7"
                                            }
                                        ],
                                        "id": 591,
                                        "name": "Mapping",
                                        "src": "1519:27:7"
                                    }
                                ],
                                "id": 592,
                                "name": "Mapping",
                                "src": "1500:47:7"
                            }
                        ],
                        "id": 593,
                        "name": "VariableDeclaration",
                        "src": "1500:65:7"
                    },
                    {
                        "attributes": {
                            "constant": false,
                            "name": "pins",
                            "scope": 1949,
                            "stateVariable": true,
                            "storageLocation": "default",
                            "type": "mapping(bytes32 => mapping(bytes32 => string))",
                            "value": null,
                            "visibility": "private"
                        },
                        "children": [
                            {
                                "attributes": {
                                    "type": "mapping(bytes32 => mapping(bytes32 => string))"
                                },
                                "children": [
                                    {
                                        "attributes": {
                                            "name": "bytes32",
                                            "type": "bytes32"
                                        },
                                        "id": 594,
                                        "name": "ElementaryTypeName",
                                        "src": "1716:7:7"
                                    },
                                    {
                                        "attributes": {
                                            "type": "mapping(bytes32 => string)"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "bytes32",
                                                    "type": "bytes32"
                                                },
                                                "id": 595,
                                                "name": "ElementaryTypeName",
                                                "src": "1735:7:7"
                                            },
                                            {
                                                "attributes": {
                                                    "name": "string",
                                                    "type": "string"
                                                },
                                                "id": 596,
                                                "name": "ElementaryTypeName",
                                                "src": "1746:6:7"
                                            }
                                        ],
                                        "id": 597,
                                        "name": "Mapping",
                                        "src": "1727:26:7"
                                    }
                                ],
                                "id": 598,
                                "name": "Mapping",
                                "src": "1708:46:7"
                            }
                        ],
                        "id": 599,
                        "name": "VariableDeclaration",
                        "src": "1708:59:7"
                    },
                    {
                        "attributes": {
                            "constant": false,
                            "name": "shards",
                            "scope": 1949,
                            "stateVariable": true,
                            "storageLocation": "default",
                            "type": "mapping(bytes32 => mapping(bytes32 => string))",
                            "value": null,
                            "visibility": "private"
                        },
                        "children": [
                            {
                                "attributes": {
                                    "type": "mapping(bytes32 => mapping(bytes32 => string))"
                                },
                                "children": [
                                    {
                                        "attributes": {
                                            "name": "bytes32",
                                            "type": "bytes32"
                                        },
                                        "id": 600,
                                        "name": "ElementaryTypeName",
                                        "src": "1924:7:7"
                                    },
                                    {
                                        "attributes": {
                                            "type": "mapping(bytes32 => string)"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "bytes32",
                                                    "type": "bytes32"
                                                },
                                                "id": 601,
                                                "name": "ElementaryTypeName",
                                                "src": "1943:7:7"
                                            },
                                            {
                                                "attributes": {
                                                    "name": "string",
                                                    "type": "string"
                                                },
                                                "id": 602,
                                                "name": "ElementaryTypeName",
                                                "src": "1954:6:7"
                                            }
                                        ],
                                        "id": 603,
                                        "name": "Mapping",
                                        "src": "1935:26:7"
                                    }
                                ],
                                "id": 604,
                                "name": "Mapping",
                                "src": "1916:46:7"
                            }
                        ],
                        "id": 605,
                        "name": "VariableDeclaration",
                        "src": "1916:61:7"
                    },
                    {
                        "attributes": {
                            "constant": false,
                            "name": "quorum",
                            "scope": 1949,
                            "stateVariable": true,
                            "storageLocation": "default",
                            "type": "mapping(bytes32 => uint256)",
                            "value": null,
                            "visibility": "private"
                        },
                        "children": [
                            {
                                "attributes": {
                                    "type": "mapping(bytes32 => uint256)"
                                },
                                "children": [
                                    {
                                        "attributes": {
                                            "name": "bytes32",
                                            "type": "bytes32"
                                        },
                                        "id": 606,
                                        "name": "ElementaryTypeName",
                                        "src": "2112:7:7"
                                    },
                                    {
                                        "attributes": {
                                            "name": "uint256",
                                            "type": "uint256"
                                        },
                                        "id": 607,
                                        "name": "ElementaryTypeName",
                                        "src": "2123:7:7"
                                    }
                                ],
                                "id": 608,
                                "name": "Mapping",
                                "src": "2104:27:7"
                            }
                        ],
                        "id": 609,
                        "name": "VariableDeclaration",
                        "src": "2104:42:7"
                    },
                    {
                        "attributes": {
                            "constant": false,
                            "name": "transactions",
                            "scope": 1949,
                            "stateVariable": true,
                            "storageLocation": "default",
                            "type": "mapping(bytes32 => struct IVault.transaction[])",
                            "value": null,
                            "visibility": "private"
                        },
                        "children": [
                            {
                                "attributes": {
                                    "type": "mapping(bytes32 => struct IVault.transaction[])"
                                },
                                "children": [
                                    {
                                        "attributes": {
                                            "name": "bytes32",
                                            "type": "bytes32"
                                        },
                                        "id": 610,
                                        "name": "ElementaryTypeName",
                                        "src": "2235:7:7"
                                    },
                                    {
                                        "attributes": {
                                            "length": null,
                                            "type": "struct IVault.transaction[]"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "contractScope": null,
                                                    "name": "transaction",
                                                    "referencedDeclaration": 367,
                                                    "type": "struct IVault.transaction"
                                                },
                                                "id": 611,
                                                "name": "UserDefinedTypeName",
                                                "src": "2246:11:7"
                                            }
                                        ],
                                        "id": 612,
                                        "name": "ArrayTypeName",
                                        "src": "2246:13:7"
                                    }
                                ],
                                "id": 613,
                                "name": "Mapping",
                                "src": "2227:33:7"
                            }
                        ],
                        "id": 614,
                        "name": "VariableDeclaration",
                        "src": "2227:54:7"
                    },
                    {
                        "attributes": {
                            "anonymous": false,
                            "documentation": null,
                            "name": "NewParticipant"
                        },
                        "children": [
                            {
                                "children": [
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "indexed": false,
                                            "name": "creator",
                                            "scope": 620,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "bytes32",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "bytes32",
                                                    "type": "bytes32"
                                                },
                                                "id": 615,
                                                "name": "ElementaryTypeName",
                                                "src": "2381:7:7"
                                            }
                                        ],
                                        "id": 616,
                                        "name": "VariableDeclaration",
                                        "src": "2381:15:7"
                                    },
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "indexed": false,
                                            "name": "participant",
                                            "scope": 620,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "bytes32",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "bytes32",
                                                    "type": "bytes32"
                                                },
                                                "id": 617,
                                                "name": "ElementaryTypeName",
                                                "src": "2398:7:7"
                                            }
                                        ],
                                        "id": 618,
                                        "name": "VariableDeclaration",
                                        "src": "2398:19:7"
                                    }
                                ],
                                "id": 619,
                                "name": "ParameterList",
                                "src": "2380:38:7"
                            }
                        ],
                        "id": 620,
                        "name": "EventDefinition",
                        "src": "2360:59:7"
                    },
                    {
                        "attributes": {
                            "anonymous": false,
                            "documentation": null,
                            "name": "NewTransaction"
                        },
                        "children": [
                            {
                                "children": [
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "indexed": false,
                                            "name": "creator",
                                            "scope": 628,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "bytes32",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "bytes32",
                                                    "type": "bytes32"
                                                },
                                                "id": 621,
                                                "name": "ElementaryTypeName",
                                                "src": "2518:7:7"
                                            }
                                        ],
                                        "id": 622,
                                        "name": "VariableDeclaration",
                                        "src": "2518:15:7"
                                    },
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "indexed": false,
                                            "name": "participant",
                                            "scope": 628,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "bytes32",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "bytes32",
                                                    "type": "bytes32"
                                                },
                                                "id": 623,
                                                "name": "ElementaryTypeName",
                                                "src": "2535:7:7"
                                            }
                                        ],
                                        "id": 624,
                                        "name": "VariableDeclaration",
                                        "src": "2535:19:7"
                                    },
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "indexed": false,
                                            "name": "txid",
                                            "scope": 628,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "uint256",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "uint256",
                                                    "type": "uint256"
                                                },
                                                "id": 625,
                                                "name": "ElementaryTypeName",
                                                "src": "2556:7:7"
                                            }
                                        ],
                                        "id": 626,
                                        "name": "VariableDeclaration",
                                        "src": "2556:12:7"
                                    }
                                ],
                                "id": 627,
                                "name": "ParameterList",
                                "src": "2517:52:7"
                            }
                        ],
                        "id": 628,
                        "name": "EventDefinition",
                        "src": "2497:73:7"
                    },
                    {
                        "attributes": {
                            "anonymous": false,
                            "documentation": null,
                            "name": "SignTransaction"
                        },
                        "children": [
                            {
                                "children": [
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "indexed": false,
                                            "name": "creator",
                                            "scope": 636,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "bytes32",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "bytes32",
                                                    "type": "bytes32"
                                                },
                                                "id": 629,
                                                "name": "ElementaryTypeName",
                                                "src": "2676:7:7"
                                            }
                                        ],
                                        "id": 630,
                                        "name": "VariableDeclaration",
                                        "src": "2676:15:7"
                                    },
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "indexed": false,
                                            "name": "participant",
                                            "scope": 636,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "bytes32",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "bytes32",
                                                    "type": "bytes32"
                                                },
                                                "id": 631,
                                                "name": "ElementaryTypeName",
                                                "src": "2693:7:7"
                                            }
                                        ],
                                        "id": 632,
                                        "name": "VariableDeclaration",
                                        "src": "2693:19:7"
                                    },
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "indexed": false,
                                            "name": "txid",
                                            "scope": 636,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "uint256",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "uint256",
                                                    "type": "uint256"
                                                },
                                                "id": 633,
                                                "name": "ElementaryTypeName",
                                                "src": "2714:7:7"
                                            }
                                        ],
                                        "id": 634,
                                        "name": "VariableDeclaration",
                                        "src": "2714:12:7"
                                    }
                                ],
                                "id": 635,
                                "name": "ParameterList",
                                "src": "2675:52:7"
                            }
                        ],
                        "id": 636,
                        "name": "EventDefinition",
                        "src": "2654:74:7"
                    },
                    {
                        "attributes": {
                            "anonymous": false,
                            "documentation": null,
                            "name": "SignResponse"
                        },
                        "children": [
                            {
                                "children": [
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "indexed": false,
                                            "name": "creator",
                                            "scope": 644,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "bytes32",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "bytes32",
                                                    "type": "bytes32"
                                                },
                                                "id": 637,
                                                "name": "ElementaryTypeName",
                                                "src": "2827:7:7"
                                            }
                                        ],
                                        "id": 638,
                                        "name": "VariableDeclaration",
                                        "src": "2827:15:7"
                                    },
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "indexed": false,
                                            "name": "participant",
                                            "scope": 644,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "bytes32",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "bytes32",
                                                    "type": "bytes32"
                                                },
                                                "id": 639,
                                                "name": "ElementaryTypeName",
                                                "src": "2844:7:7"
                                            }
                                        ],
                                        "id": 640,
                                        "name": "VariableDeclaration",
                                        "src": "2844:19:7"
                                    },
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "indexed": false,
                                            "name": "confirmation",
                                            "scope": 644,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "bool",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "bool",
                                                    "type": "bool"
                                                },
                                                "id": 641,
                                                "name": "ElementaryTypeName",
                                                "src": "2865:4:7"
                                            }
                                        ],
                                        "id": 642,
                                        "name": "VariableDeclaration",
                                        "src": "2865:17:7"
                                    }
                                ],
                                "id": 643,
                                "name": "ParameterList",
                                "src": "2826:57:7"
                            }
                        ],
                        "id": 644,
                        "name": "EventDefinition",
                        "src": "2808:76:7"
                    },
                    {
                        "attributes": {
                            "anonymous": false,
                            "documentation": null,
                            "name": "feecollection"
                        },
                        "children": [
                            {
                                "children": [
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "indexed": true,
                                            "name": "platform",
                                            "scope": 652,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "address",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "address",
                                                    "stateMutability": "nonpayable",
                                                    "type": "address"
                                                },
                                                "id": 645,
                                                "name": "ElementaryTypeName",
                                                "src": "2944:7:7"
                                            }
                                        ],
                                        "id": 646,
                                        "name": "VariableDeclaration",
                                        "src": "2944:24:7"
                                    },
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "indexed": false,
                                            "name": "collection",
                                            "scope": 652,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "uint256",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "uint256",
                                                    "type": "uint256"
                                                },
                                                "id": 647,
                                                "name": "ElementaryTypeName",
                                                "src": "2970:7:7"
                                            }
                                        ],
                                        "id": 648,
                                        "name": "VariableDeclaration",
                                        "src": "2970:18:7"
                                    },
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "indexed": false,
                                            "name": "timestamp",
                                            "scope": 652,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "uint256",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "uint256",
                                                    "type": "uint256"
                                                },
                                                "id": 649,
                                                "name": "ElementaryTypeName",
                                                "src": "2990:7:7"
                                            }
                                        ],
                                        "id": 650,
                                        "name": "VariableDeclaration",
                                        "src": "2990:17:7"
                                    }
                                ],
                                "id": 651,
                                "name": "ParameterList",
                                "src": "2943:65:7"
                            }
                        ],
                        "id": 652,
                        "name": "EventDefinition",
                        "src": "2924:85:7"
                    },
                    {
                        "attributes": {
                            "canonicalName": "Vault.BalanceSnapshot",
                            "name": "BalanceSnapshot",
                            "scope": 1949,
                            "visibility": "public"
                        },
                        "children": [
                            {
                                "attributes": {
                                    "constant": false,
                                    "name": "timestamp",
                                    "scope": 657,
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "type": "uint256",
                                    "value": null,
                                    "visibility": "internal"
                                },
                                "children": [
                                    {
                                        "attributes": {
                                            "name": "uint256",
                                            "type": "uint256"
                                        },
                                        "id": 653,
                                        "name": "ElementaryTypeName",
                                        "src": "3102:7:7"
                                    }
                                ],
                                "id": 654,
                                "name": "VariableDeclaration",
                                "src": "3102:17:7"
                            },
                            {
                                "attributes": {
                                    "constant": false,
                                    "name": "balance",
                                    "scope": 657,
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "type": "uint256",
                                    "value": null,
                                    "visibility": "internal"
                                },
                                "children": [
                                    {
                                        "attributes": {
                                            "name": "uint256",
                                            "type": "uint256"
                                        },
                                        "id": 655,
                                        "name": "ElementaryTypeName",
                                        "src": "3130:7:7"
                                    }
                                ],
                                "id": 656,
                                "name": "VariableDeclaration",
                                "src": "3130:15:7"
                            }
                        ],
                        "id": 657,
                        "name": "StructDefinition",
                        "src": "3068:85:7"
                    },
                    {
                        "attributes": {
                            "constant": false,
                            "name": "userSnapshots",
                            "scope": 1949,
                            "stateVariable": true,
                            "storageLocation": "default",
                            "type": "mapping(address => mapping(address => struct Vault.BalanceSnapshot[]))",
                            "value": null,
                            "visibility": "public"
                        },
                        "children": [
                            {
                                "attributes": {
                                    "type": "mapping(address => mapping(address => struct Vault.BalanceSnapshot[]))"
                                },
                                "children": [
                                    {
                                        "attributes": {
                                            "name": "address",
                                            "type": "address"
                                        },
                                        "id": 658,
                                        "name": "ElementaryTypeName",
                                        "src": "3227:7:7"
                                    },
                                    {
                                        "attributes": {
                                            "type": "mapping(address => struct Vault.BalanceSnapshot[])"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "address",
                                                    "type": "address"
                                                },
                                                "id": 659,
                                                "name": "ElementaryTypeName",
                                                "src": "3246:7:7"
                                            },
                                            {
                                                "attributes": {
                                                    "length": null,
                                                    "type": "struct Vault.BalanceSnapshot[]"
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "contractScope": null,
                                                            "name": "BalanceSnapshot",
                                                            "referencedDeclaration": 657,
                                                            "type": "struct Vault.BalanceSnapshot"
                                                        },
                                                        "id": 660,
                                                        "name": "UserDefinedTypeName",
                                                        "src": "3257:15:7"
                                                    }
                                                ],
                                                "id": 661,
                                                "name": "ArrayTypeName",
                                                "src": "3257:17:7"
                                            }
                                        ],
                                        "id": 662,
                                        "name": "Mapping",
                                        "src": "3238:37:7"
                                    }
                                ],
                                "id": 663,
                                "name": "Mapping",
                                "src": "3219:57:7"
                            }
                        ],
                        "id": 664,
                        "name": "VariableDeclaration",
                        "src": "3219:78:7"
                    },
                    {
                        "attributes": {
                            "constant": false,
                            "name": "fees",
                            "scope": 1949,
                            "stateVariable": true,
                            "storageLocation": "default",
                            "type": "mapping(address => uint256)",
                            "value": null,
                            "visibility": "private"
                        },
                        "children": [
                            {
                                "attributes": {
                                    "type": "mapping(address => uint256)"
                                },
                                "children": [
                                    {
                                        "attributes": {
                                            "name": "address",
                                            "type": "address"
                                        },
                                        "id": 665,
                                        "name": "ElementaryTypeName",
                                        "src": "3369:7:7"
                                    },
                                    {
                                        "attributes": {
                                            "name": "uint256",
                                            "type": "uint256"
                                        },
                                        "id": 666,
                                        "name": "ElementaryTypeName",
                                        "src": "3380:7:7"
                                    }
                                ],
                                "id": 667,
                                "name": "Mapping",
                                "src": "3361:27:7"
                            }
                        ],
                        "id": 668,
                        "name": "VariableDeclaration",
                        "src": "3361:40:7"
                    },
                    {
                        "attributes": {
                            "documentation": null,
                            "name": "onlySigner",
                            "visibility": "internal"
                        },
                        "children": [
                            {
                                "children": [
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "_creator",
                                            "scope": 695,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "bytes32",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "bytes32",
                                                    "type": "bytes32"
                                                },
                                                "id": 669,
                                                "name": "ElementaryTypeName",
                                                "src": "3448:7:7"
                                            }
                                        ],
                                        "id": 670,
                                        "name": "VariableDeclaration",
                                        "src": "3448:16:7"
                                    },
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "_id",
                                            "scope": 695,
                                            "stateVariable": false,
                                            "storageLocation": "memory",
                                            "type": "string",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "string",
                                                    "type": "string"
                                                },
                                                "id": 671,
                                                "name": "ElementaryTypeName",
                                                "src": "3466:6:7"
                                            }
                                        ],
                                        "id": 672,
                                        "name": "VariableDeclaration",
                                        "src": "3466:17:7"
                                    }
                                ],
                                "id": 673,
                                "name": "ParameterList",
                                "src": "3447:37:7"
                            },
                            {
                                "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"
                                                                },
                                                                {
                                                                    "typeIdentifier": "t_stringliteral_f37a082e01a85edd8341f0ebe503684b2e02e2e628aaf440f1c678d418b8334a",
                                                                    "typeString": "literal_string \"Not a valid signer\""
                                                                }
                                                            ],
                                                            "overloadedDeclarations": [
                                                                3959,
                                                                3960
                                                            ],
                                                            "referencedDeclaration": 3960,
                                                            "type": "function (bool,string memory) pure",
                                                            "value": "require"
                                                        },
                                                        "id": 674,
                                                        "name": "Identifier",
                                                        "src": "3496:7:7"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "commonType": {
                                                                "typeIdentifier": "t_bytes32",
                                                                "typeString": "bytes32"
                                                            },
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "operator": "==",
                                                            "type": "bool"
                                                        },
                                                        "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_bytes_memory_ptr",
                                                                                    "typeString": "bytes memory"
                                                                                }
                                                                            ],
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 3950,
                                                                            "type": "function (bytes memory) pure returns (bytes32)",
                                                                            "value": "keccak256"
                                                                        },
                                                                        "id": 675,
                                                                        "name": "Identifier",
                                                                        "src": "3504:9:7"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "isConstant": false,
                                                                            "isLValue": false,
                                                                            "isPure": false,
                                                                            "isStructConstructorCall": false,
                                                                            "lValueRequested": false,
                                                                            "names": [
                                                                                null
                                                                            ],
                                                                            "type": "bytes memory",
                                                                            "type_conversion": false
                                                                        },
                                                                        "children": [
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": [
                                                                                        {
                                                                                            "typeIdentifier": "t_string_storage",
                                                                                            "typeString": "string storage ref"
                                                                                        }
                                                                                    ],
                                                                                    "isConstant": false,
                                                                                    "isLValue": false,
                                                                                    "isPure": true,
                                                                                    "lValueRequested": false,
                                                                                    "member_name": "encodePacked",
                                                                                    "referencedDeclaration": null,
                                                                                    "type": "function () pure returns (bytes memory)"
                                                                                },
                                                                                "children": [
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "overloadedDeclarations": [
                                                                                                null
                                                                                            ],
                                                                                            "referencedDeclaration": 3943,
                                                                                            "type": "abi",
                                                                                            "value": "abi"
                                                                                        },
                                                                                        "id": 676,
                                                                                        "name": "Identifier",
                                                                                        "src": "3514:3:7"
                                                                                    }
                                                                                ],
                                                                                "id": 677,
                                                                                "name": "MemberAccess",
                                                                                "src": "3514:16:7"
                                                                            },
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "isConstant": false,
                                                                                    "isLValue": true,
                                                                                    "isPure": false,
                                                                                    "lValueRequested": false,
                                                                                    "type": "string storage ref"
                                                                                },
                                                                                "children": [
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "overloadedDeclarations": [
                                                                                                null
                                                                                            ],
                                                                                            "referencedDeclaration": 582,
                                                                                            "type": "mapping(bytes32 => string storage ref)",
                                                                                            "value": "creators"
                                                                                        },
                                                                                        "id": 678,
                                                                                        "name": "Identifier",
                                                                                        "src": "3531:8:7"
                                                                                    },
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "overloadedDeclarations": [
                                                                                                null
                                                                                            ],
                                                                                            "referencedDeclaration": 670,
                                                                                            "type": "bytes32",
                                                                                            "value": "_creator"
                                                                                        },
                                                                                        "id": 679,
                                                                                        "name": "Identifier",
                                                                                        "src": "3540:8:7"
                                                                                    }
                                                                                ],
                                                                                "id": 680,
                                                                                "name": "IndexAccess",
                                                                                "src": "3531:18:7"
                                                                            }
                                                                        ],
                                                                        "id": 681,
                                                                        "name": "FunctionCall",
                                                                        "src": "3514:36:7"
                                                                    }
                                                                ],
                                                                "id": 682,
                                                                "name": "FunctionCall",
                                                                "src": "3504:47:7"
                                                            },
                                                            {
                                                                "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_bytes_memory_ptr",
                                                                                    "typeString": "bytes memory"
                                                                                }
                                                                            ],
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 3950,
                                                                            "type": "function (bytes memory) pure returns (bytes32)",
                                                                            "value": "keccak256"
                                                                        },
                                                                        "id": 683,
                                                                        "name": "Identifier",
                                                                        "src": "3555:9:7"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "isConstant": false,
                                                                            "isLValue": false,
                                                                            "isPure": false,
                                                                            "isStructConstructorCall": false,
                                                                            "lValueRequested": false,
                                                                            "names": [
                                                                                null
                                                                            ],
                                                                            "type": "bytes memory",
                                                                            "type_conversion": false
                                                                        },
                                                                        "children": [
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": [
                                                                                        {
                                                                                            "typeIdentifier": "t_string_memory_ptr",
                                                                                            "typeString": "string memory"
                                                                                        }
                                                                                    ],
                                                                                    "isConstant": false,
                                                                                    "isLValue": false,
                                                                                    "isPure": true,
                                                                                    "lValueRequested": false,
                                                                                    "member_name": "encodePacked",
                                                                                    "referencedDeclaration": null,
                                                                                    "type": "function () pure returns (bytes memory)"
                                                                                },
                                                                                "children": [
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "overloadedDeclarations": [
                                                                                                null
                                                                                            ],
                                                                                            "referencedDeclaration": 3943,
                                                                                            "type": "abi",
                                                                                            "value": "abi"
                                                                                        },
                                                                                        "id": 684,
                                                                                        "name": "Identifier",
                                                                                        "src": "3565:3:7"
                                                                                    }
                                                                                ],
                                                                                "id": 685,
                                                                                "name": "MemberAccess",
                                                                                "src": "3565:16:7"
                                                                            },
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "overloadedDeclarations": [
                                                                                        null
                                                                                    ],
                                                                                    "referencedDeclaration": 672,
                                                                                    "type": "string memory",
                                                                                    "value": "_id"
                                                                                },
                                                                                "id": 686,
                                                                                "name": "Identifier",
                                                                                "src": "3582:3:7"
                                                                            }
                                                                        ],
                                                                        "id": 687,
                                                                        "name": "FunctionCall",
                                                                        "src": "3565:21:7"
                                                                    }
                                                                ],
                                                                "id": 688,
                                                                "name": "FunctionCall",
                                                                "src": "3555:32:7"
                                                            }
                                                        ],
                                                        "id": 689,
                                                        "name": "BinaryOperation",
                                                        "src": "3504:83:7"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "hexvalue": "4e6f7420612076616c6964207369676e6572",
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": true,
                                                            "lValueRequested": false,
                                                            "subdenomination": null,
                                                            "token": "string",
                                                            "type": "literal_string \"Not a valid signer\"",
                                                            "value": "Not a valid signer"
                                                        },
                                                        "id": 690,
                                                        "name": "Literal",
                                                        "src": "3589:20:7"
                                                    }
                                                ],
                                                "id": 691,
                                                "name": "FunctionCall",
                                                "src": "3496:114:7"
                                            }
                                        ],
                                        "id": 692,
                                        "name": "ExpressionStatement",
                                        "src": "3496:114:7"
                                    },
                                    {
                                        "id": 693,
                                        "name": "PlaceholderStatement",
                                        "src": "3621:1:7"
                                    }
                                ],
                                "id": 694,
                                "name": "Block",
                                "src": "3485:145:7"
                            }
                        ],
                        "id": 695,
                        "name": "ModifierDefinition",
                        "src": "3428:202:7"
                    },
                    {
                        "attributes": {
                            "documentation": null,
                            "name": "onlyAuthorized",
                            "visibility": "internal"
                        },
                        "children": [
                            {
                                "children": [
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "_caller",
                                            "scope": 708,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "address",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "address",
                                                    "stateMutability": "nonpayable",
                                                    "type": "address"
                                                },
                                                "id": 696,
                                                "name": "ElementaryTypeName",
                                                "src": "3662:7:7"
                                            }
                                        ],
                                        "id": 697,
                                        "name": "VariableDeclaration",
                                        "src": "3662:15:7"
                                    }
                                ],
                                "id": 698,
                                "name": "ParameterList",
                                "src": "3661:17:7"
                            },
                            {
                                "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"
                                                                },
                                                                {
                                                                    "typeIdentifier": "t_stringliteral_374bb354c1ea1b21cda6c53630aeac06a01a81a0893a9c33c2e455676b261b9e",
                                                                    "typeString": "literal_string \"Not a valid distributor\""
                                                                }
                                                            ],
                                                            "overloadedDeclarations": [
                                                                3959,
                                                                3960
                                                            ],
                                                            "referencedDeclaration": 3960,
                                                            "type": "function (bool,string memory) pure",
                                                            "value": "require"
                                                        },
                                                        "id": 699,
                                                        "name": "Identifier",
                                                        "src": "3690:7:7"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "commonType": {
                                                                "typeIdentifier": "t_address",
                                                                "typeString": "address"
                                                            },
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "operator": "==",
                                                            "type": "bool"
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "overloadedDeclarations": [
                                                                        null
                                                                    ],
                                                                    "referencedDeclaration": 697,
                                                                    "type": "address",
                                                                    "value": "_caller"
                                                                },
                                                                "id": 700,
                                                                "name": "Identifier",
                                                                "src": "3698:7:7"
                                                            },
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "overloadedDeclarations": [
                                                                        null
                                                                    ],
                                                                    "referencedDeclaration": 569,
                                                                    "type": "address",
                                                                    "value": "distributor"
                                                                },
                                                                "id": 701,
                                                                "name": "Identifier",
                                                                "src": "3707:11:7"
                                                            }
                                                        ],
                                                        "id": 702,
                                                        "name": "BinaryOperation",
                                                        "src": "3698:20:7"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "hexvalue": "4e6f7420612076616c6964206469737472696275746f72",
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": true,
                                                            "lValueRequested": false,
                                                            "subdenomination": null,
                                                            "token": "string",
                                                            "type": "literal_string \"Not a valid distributor\"",
                                                            "value": "Not a valid distributor"
                                                        },
                                                        "id": 703,
                                                        "name": "Literal",
                                                        "src": "3720:25:7"
                                                    }
                                                ],
                                                "id": 704,
                                                "name": "FunctionCall",
                                                "src": "3690:56:7"
                                            }
                                        ],
                                        "id": 705,
                                        "name": "ExpressionStatement",
                                        "src": "3690:56:7"
                                    },
                                    {
                                        "id": 706,
                                        "name": "PlaceholderStatement",
                                        "src": "3757:1:7"
                                    }
                                ],
                                "id": 707,
                                "name": "Block",
                                "src": "3679:87:7"
                            }
                        ],
                        "id": 708,
                        "name": "ModifierDefinition",
                        "src": "3638:128:7"
                    },
                    {
                        "attributes": {
                            "documentation": null,
                            "implemented": true,
                            "isConstructor": true,
                            "kind": "constructor",
                            "modifiers": [
                                null
                            ],
                            "name": "",
                            "scope": 1949,
                            "stateMutability": "nonpayable",
                            "superFunction": null,
                            "visibility": "public"
                        },
                        "children": [
                            {
                                "attributes": {
                                    "parameters": [
                                        null
                                    ]
                                },
                                "children": [],
                                "id": 709,
                                "name": "ParameterList",
                                "src": "3785:2:7"
                            },
                            {
                                "attributes": {
                                    "parameters": [
                                        null
                                    ]
                                },
                                "children": [],
                                "id": 710,
                                "name": "ParameterList",
                                "src": "3794:0:7"
                            },
                            {
                                "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_address_payable",
                                                                    "typeString": "address payable"
                                                                }
                                                            ],
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "member_name": "initialize",
                                                            "referencedDeclaration": 64,
                                                            "type": "function (address)"
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "overloadedDeclarations": [
                                                                        null
                                                                    ],
                                                                    "referencedDeclaration": 153,
                                                                    "type": "type(contract Ownable)",
                                                                    "value": "Ownable"
                                                                },
                                                                "id": 711,
                                                                "name": "Identifier",
                                                                "src": "3805:7:7"
                                                            }
                                                        ],
                                                        "id": 713,
                                                        "name": "MemberAccess",
                                                        "src": "3805:18:7"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "member_name": "sender",
                                                            "referencedDeclaration": null,
                                                            "type": "address payable"
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "overloadedDeclarations": [
                                                                        null
                                                                    ],
                                                                    "referencedDeclaration": 3956,
                                                                    "type": "msg",
                                                                    "value": "msg"
                                                                },
                                                                "id": 714,
                                                                "name": "Identifier",
                                                                "src": "3824:3:7"
                                                            }
                                                        ],
                                                        "id": 715,
                                                        "name": "MemberAccess",
                                                        "src": "3824:10:7"
                                                    }
                                                ],
                                                "id": 716,
                                                "name": "FunctionCall",
                                                "src": "3805:30:7"
                                            }
                                        ],
                                        "id": 717,
                                        "name": "ExpressionStatement",
                                        "src": "3805:30:7"
                                    },
                                    {
                                        "children": [
                                            {
                                                "attributes": {
                                                    "argumentTypes": null,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "operator": "=",
                                                    "type": "address"
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "overloadedDeclarations": [
                                                                null
                                                            ],
                                                            "referencedDeclaration": 569,
                                                            "type": "address",
                                                            "value": "distributor"
                                                        },
                                                        "id": 718,
                                                        "name": "Identifier",
                                                        "src": "3846:11:7"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "member_name": "sender",
                                                            "referencedDeclaration": null,
                                                            "type": "address payable"
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "overloadedDeclarations": [
                                                                        null
                                                                    ],
                                                                    "referencedDeclaration": 3956,
                                                                    "type": "msg",
                                                                    "value": "msg"
                                                                },
                                                                "id": 719,
                                                                "name": "Identifier",
                                                                "src": "3860:3:7"
                                                            }
                                                        ],
                                                        "id": 720,
                                                        "name": "MemberAccess",
                                                        "src": "3860:10:7"
                                                    }
                                                ],
                                                "id": 721,
                                                "name": "Assignment",
                                                "src": "3846:24:7"
                                            }
                                        ],
                                        "id": 722,
                                        "name": "ExpressionStatement",
                                        "src": "3846:24:7"
                                    }
                                ],
                                "id": 723,
                                "name": "Block",
                                "src": "3794:84:7"
                            }
                        ],
                        "id": 724,
                        "name": "FunctionDefinition",
                        "src": "3774:104:7"
                    },
                    {
                        "attributes": {
                            "documentation": null,
                            "implemented": true,
                            "isConstructor": false,
                            "kind": "function",
                            "name": "setDistributor",
                            "scope": 1949,
                            "stateMutability": "nonpayable",
                            "superFunction": null,
                            "visibility": "public"
                        },
                        "children": [
                            {
                                "children": [
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "_nominee",
                                            "scope": 738,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "address",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "address",
                                                    "stateMutability": "nonpayable",
                                                    "type": "address"
                                                },
                                                "id": 725,
                                                "name": "ElementaryTypeName",
                                                "src": "3910:7:7"
                                            }
                                        ],
                                        "id": 726,
                                        "name": "VariableDeclaration",
                                        "src": "3910:16:7"
                                    }
                                ],
                                "id": 727,
                                "name": "ParameterList",
                                "src": "3909:18:7"
                            },
                            {
                                "attributes": {
                                    "parameters": [
                                        null
                                    ]
                                },
                                "children": [],
                                "id": 732,
                                "name": "ParameterList",
                                "src": "3961:0:7"
                            },
                            {
                                "children": [
                                    {
                                        "attributes": {
                                            "argumentTypes": null,
                                            "overloadedDeclarations": [
                                                null
                                            ],
                                            "referencedDeclaration": 708,
                                            "type": "modifier (address)",
                                            "value": "onlyAuthorized"
                                        },
                                        "id": 728,
                                        "name": "Identifier",
                                        "src": "3935:14:7"
                                    },
                                    {
                                        "attributes": {
                                            "argumentTypes": null,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "member_name": "sender",
                                            "referencedDeclaration": null,
                                            "type": "address payable"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "argumentTypes": null,
                                                    "overloadedDeclarations": [
                                                        null
                                                    ],
                                                    "referencedDeclaration": 3956,
                                                    "type": "msg",
                                                    "value": "msg"
                                                },
                                                "id": 729,
                                                "name": "Identifier",
                                                "src": "3950:3:7"
                                            }
                                        ],
                                        "id": 730,
                                        "name": "MemberAccess",
                                        "src": "3950:10:7"
                                    }
                                ],
                                "id": 731,
                                "name": "ModifierInvocation",
                                "src": "3935:26:7"
                            },
                            {
                                "children": [
                                    {
                                        "children": [
                                            {
                                                "attributes": {
                                                    "argumentTypes": null,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "operator": "=",
                                                    "type": "address"
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "overloadedDeclarations": [
                                                                null
                                                            ],
                                                            "referencedDeclaration": 569,
                                                            "type": "address",
                                                            "value": "distributor"
                                                        },
                                                        "id": 733,
                                                        "name": "Identifier",
                                                        "src": "3972:11:7"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "overloadedDeclarations": [
                                                                null
                                                            ],
                                                            "referencedDeclaration": 726,
                                                            "type": "address",
                                                            "value": "_nominee"
                                                        },
                                                        "id": 734,
                                                        "name": "Identifier",
                                                        "src": "3986:8:7"
                                                    }
                                                ],
                                                "id": 735,
                                                "name": "Assignment",
                                                "src": "3972:22:7"
                                            }
                                        ],
                                        "id": 736,
                                        "name": "ExpressionStatement",
                                        "src": "3972:22:7"
                                    }
                                ],
                                "id": 737,
                                "name": "Block",
                                "src": "3961:41:7"
                            }
                        ],
                        "id": 738,
                        "name": "FunctionDefinition",
                        "src": "3886:116:7"
                    },
                    {
                        "attributes": {
                            "documentation": null,
                            "implemented": true,
                            "isConstructor": false,
                            "kind": "function",
                            "name": "setCustodyFee",
                            "scope": 1949,
                            "stateMutability": "nonpayable",
                            "superFunction": null,
                            "visibility": "public"
                        },
                        "children": [
                            {
                                "children": [
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "_fee",
                                            "scope": 752,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "uint256",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "uint256",
                                                    "type": "uint256"
                                                },
                                                "id": 739,
                                                "name": "ElementaryTypeName",
                                                "src": "4033:7:7"
                                            }
                                        ],
                                        "id": 740,
                                        "name": "VariableDeclaration",
                                        "src": "4033:12:7"
                                    }
                                ],
                                "id": 741,
                                "name": "ParameterList",
                                "src": "4032:14:7"
                            },
                            {
                                "attributes": {
                                    "parameters": [
                                        null
                                    ]
                                },
                                "children": [],
                                "id": 746,
                                "name": "ParameterList",
                                "src": "4080:0:7"
                            },
                            {
                                "children": [
                                    {
                                        "attributes": {
                                            "argumentTypes": null,
                                            "overloadedDeclarations": [
                                                null
                                            ],
                                            "referencedDeclaration": 708,
                                            "type": "modifier (address)",
                                            "value": "onlyAuthorized"
                                        },
                                        "id": 742,
                                        "name": "Identifier",
                                        "src": "4054:14:7"
                                    },
                                    {
                                        "attributes": {
                                            "argumentTypes": null,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "member_name": "sender",
                                            "referencedDeclaration": null,
                                            "type": "address payable"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "argumentTypes": null,
                                                    "overloadedDeclarations": [
                                                        null
                                                    ],
                                                    "referencedDeclaration": 3956,
                                                    "type": "msg",
                                                    "value": "msg"
                                                },
                                                "id": 743,
                                                "name": "Identifier",
                                                "src": "4069:3:7"
                                            }
                                        ],
                                        "id": 744,
                                        "name": "MemberAccess",
                                        "src": "4069:10:7"
                                    }
                                ],
                                "id": 745,
                                "name": "ModifierInvocation",
                                "src": "4054:26:7"
                            },
                            {
                                "children": [
                                    {
                                        "children": [
                                            {
                                                "attributes": {
                                                    "argumentTypes": null,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "operator": "=",
                                                    "type": "uint256"
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "overloadedDeclarations": [
                                                                null
                                                            ],
                                                            "referencedDeclaration": 571,
                                                            "type": "uint256",
                                                            "value": "custodyfee"
                                                        },
                                                        "id": 747,
                                                        "name": "Identifier",
                                                        "src": "4091:10:7"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "overloadedDeclarations": [
                                                                null
                                                            ],
                                                            "referencedDeclaration": 740,
                                                            "type": "uint256",
                                                            "value": "_fee"
                                                        },
                                                        "id": 748,
                                                        "name": "Identifier",
                                                        "src": "4104:4:7"
                                                    }
                                                ],
                                                "id": 749,
                                                "name": "Assignment",
                                                "src": "4091:17:7"
                                            }
                                        ],
                                        "id": 750,
                                        "name": "ExpressionStatement",
                                        "src": "4091:17:7"
                                    }
                                ],
                                "id": 751,
                                "name": "Block",
                                "src": "4080:36:7"
                            }
                        ],
                        "id": 752,
                        "name": "FunctionDefinition",
                        "src": "4010:106:7"
                    },
                    {
                        "attributes": {
                            "documentation": "This function creates a vault for the creator\r\n@param _creator vault creator's username, eg, creator@email.com\r\n@param _id vault creator's unique id using which it can be reached, eg, its Google/APNS token\r",
                            "implemented": true,
                            "isConstructor": false,
                            "kind": "function",
                            "modifiers": [
                                null
                            ],
                            "name": "createVault",
                            "scope": 1949,
                            "stateMutability": "nonpayable",
                            "superFunction": 374,
                            "visibility": "external"
                        },
                        "children": [
                            {
                                "children": [
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "_creator",
                                            "scope": 801,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "bytes32",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "bytes32",
                                                    "type": "bytes32"
                                                },
                                                "id": 753,
                                                "name": "ElementaryTypeName",
                                                "src": "4394:7:7"
                                            }
                                        ],
                                        "id": 754,
                                        "name": "VariableDeclaration",
                                        "src": "4394:16:7"
                                    },
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "_id",
                                            "scope": 801,
                                            "stateVariable": false,
                                            "storageLocation": "calldata",
                                            "type": "string",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "string",
                                                    "type": "string"
                                                },
                                                "id": 755,
                                                "name": "ElementaryTypeName",
                                                "src": "4412:6:7"
                                            }
                                        ],
                                        "id": 756,
                                        "name": "VariableDeclaration",
                                        "src": "4412:19:7"
                                    }
                                ],
                                "id": 757,
                                "name": "ParameterList",
                                "src": "4393:39:7"
                            },
                            {
                                "attributes": {
                                    "parameters": [
                                        null
                                    ]
                                },
                                "children": [],
                                "id": 758,
                                "name": "ParameterList",
                                "src": "4442:0:7"
                            },
                            {
                                "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": [
                                                                3959,
                                                                3960
                                                            ],
                                                            "referencedDeclaration": 3959,
                                                            "type": "function (bool) pure",
                                                            "value": "require"
                                                        },
                                                        "id": 759,
                                                        "name": "Identifier",
                                                        "src": "4453:7:7"
                                                    },
                                                    {
                                                        "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": "length",
                                                                    "referencedDeclaration": null,
                                                                    "type": "uint256"
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "isConstant": false,
                                                                            "isLValue": true,
                                                                            "isPure": false,
                                                                            "lValueRequested": false,
                                                                            "type": "bytes32[] storage ref"
                                                                        },
                                                                        "children": [
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "overloadedDeclarations": [
                                                                                        null
                                                                                    ],
                                                                                    "referencedDeclaration": 587,
                                                                                    "type": "mapping(bytes32 => bytes32[] storage ref)",
                                                                                    "value": "vaults"
                                                                                },
                                                                                "id": 760,
                                                                                "name": "Identifier",
                                                                                "src": "4461:6:7"
                                                                            },
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "overloadedDeclarations": [
                                                                                        null
                                                                                    ],
                                                                                    "referencedDeclaration": 754,
                                                                                    "type": "bytes32",
                                                                                    "value": "_creator"
                                                                                },
                                                                                "id": 761,
                                                                                "name": "Identifier",
                                                                                "src": "4468:8:7"
                                                                            }
                                                                        ],
                                                                        "id": 762,
                                                                        "name": "IndexAccess",
                                                                        "src": "4461:16:7"
                                                                    }
                                                                ],
                                                                "id": 763,
                                                                "name": "MemberAccess",
                                                                "src": "4461:23:7"
                                                            },
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "hexvalue": "30",
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": true,
                                                                    "lValueRequested": false,
                                                                    "subdenomination": null,
                                                                    "token": "number",
                                                                    "type": "int_const 0",
                                                                    "value": "0"
                                                                },
                                                                "id": 764,
                                                                "name": "Literal",
                                                                "src": "4486:1:7"
                                                            }
                                                        ],
                                                        "id": 765,
                                                        "name": "BinaryOperation",
                                                        "src": "4461:26:7"
                                                    }
                                                ],
                                                "id": 766,
                                                "name": "FunctionCall",
                                                "src": "4453:35:7"
                                            }
                                        ],
                                        "id": 767,
                                        "name": "ExpressionStatement",
                                        "src": "4453:35:7"
                                    },
                                    {
                                        "children": [
                                            {
                                                "attributes": {
                                                    "argumentTypes": null,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "isStructConstructorCall": false,
                                                    "lValueRequested": false,
                                                    "names": [
                                                        null
                                                    ],
                                                    "type": "uint256",
                                                    "type_conversion": false
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": [
                                                                {
                                                                    "typeIdentifier": "t_bytes32",
                                                                    "typeString": "bytes32"
                                                                }
                                                            ],
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "member_name": "push",
                                                            "referencedDeclaration": null,
                                                            "type": "function (bytes32) returns (uint256)"
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "isConstant": false,
                                                                    "isLValue": true,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "type": "bytes32[] storage ref"
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 578,
                                                                            "type": "mapping(address => bytes32[] storage ref)",
                                                                            "value": "signers"
                                                                        },
                                                                        "id": 768,
                                                                        "name": "Identifier",
                                                                        "src": "4499:7:7"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "isConstant": false,
                                                                            "isLValue": false,
                                                                            "isPure": false,
                                                                            "lValueRequested": false,
                                                                            "member_name": "sender",
                                                                            "referencedDeclaration": null,
                                                                            "type": "address payable"
                                                                        },
                                                                        "children": [
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "overloadedDeclarations": [
                                                                                        null
                                                                                    ],
                                                                                    "referencedDeclaration": 3956,
                                                                                    "type": "msg",
                                                                                    "value": "msg"
                                                                                },
                                                                                "id": 769,
                                                                                "name": "Identifier",
                                                                                "src": "4507:3:7"
                                                                            }
                                                                        ],
                                                                        "id": 770,
                                                                        "name": "MemberAccess",
                                                                        "src": "4507:10:7"
                                                                    }
                                                                ],
                                                                "id": 771,
                                                                "name": "IndexAccess",
                                                                "src": "4499:19:7"
                                                            }
                                                        ],
                                                        "id": 772,
                                                        "name": "MemberAccess",
                                                        "src": "4499:24:7"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "overloadedDeclarations": [
                                                                null
                                                            ],
                                                            "referencedDeclaration": 754,
                                                            "type": "bytes32",
                                                            "value": "_creator"
                                                        },
                                                        "id": 773,
                                                        "name": "Identifier",
                                                        "src": "4524:8:7"
                                                    }
                                                ],
                                                "id": 774,
                                                "name": "FunctionCall",
                                                "src": "4499:34:7"
                                            }
                                        ],
                                        "id": 775,
                                        "name": "ExpressionStatement",
                                        "src": "4499:34:7"
                                    },
                                    {
                                        "children": [
                                            {
                                                "attributes": {
                                                    "argumentTypes": null,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "operator": "=",
                                                    "type": "string storage ref"
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "isConstant": false,
                                                            "isLValue": true,
                                                            "isPure": false,
                                                            "lValueRequested": true,
                                                            "type": "string storage ref"
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "overloadedDeclarations": [
                                                                        null
                                                                    ],
                                                                    "referencedDeclaration": 582,
                                                                    "type": "mapping(bytes32 => string storage ref)",
                                                                    "value": "creators"
                                                                },
                                                                "id": 776,
                                                                "name": "Identifier",
                                                                "src": "4544:8:7"
                                                            },
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "overloadedDeclarations": [
                                                                        null
                                                                    ],
                                                                    "referencedDeclaration": 754,
                                                                    "type": "bytes32",
                                                                    "value": "_creator"
                                                                },
                                                                "id": 777,
                                                                "name": "Identifier",
                                                                "src": "4553:8:7"
                                                            }
                                                        ],
                                                        "id": 778,
                                                        "name": "IndexAccess",
                                                        "src": "4544:18:7"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "overloadedDeclarations": [
                                                                null
                                                            ],
                                                            "referencedDeclaration": 756,
                                                            "type": "string calldata",
                                                            "value": "_id"
                                                        },
                                                        "id": 779,
                                                        "name": "Identifier",
                                                        "src": "4565:3:7"
                                                    }
                                                ],
                                                "id": 780,
                                                "name": "Assignment",
                                                "src": "4544:24:7"
                                            }
                                        ],
                                        "id": 781,
                                        "name": "ExpressionStatement",
                                        "src": "4544:24:7"
                                    },
                                    {
                                        "children": [
                                            {
                                                "attributes": {
                                                    "argumentTypes": null,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "operator": "=",
                                                    "type": "uint256"
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "isConstant": false,
                                                            "isLValue": true,
                                                            "isPure": false,
                                                            "lValueRequested": true,
                                                            "type": "uint256"
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "isConstant": false,
                                                                    "isLValue": true,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "type": "mapping(bytes32 => uint256)"
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 593,
                                                                            "type": "mapping(bytes32 => mapping(bytes32 => uint256))",
                                                                            "value": "cosigners"
                                                                        },
                                                                        "id": 782,
                                                                        "name": "Identifier",
                                                                        "src": "4579:9:7"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 754,
                                                                            "type": "bytes32",
                                                                            "value": "_creator"
                                                                        },
                                                                        "id": 783,
                                                                        "name": "Identifier",
                                                                        "src": "4589:8:7"
                                                                    }
                                                                ],
                                                                "id": 785,
                                                                "name": "IndexAccess",
                                                                "src": "4579:19:7"
                                                            },
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "overloadedDeclarations": [
                                                                        null
                                                                    ],
                                                                    "referencedDeclaration": 754,
                                                                    "type": "bytes32",
                                                                    "value": "_creator"
                                                                },
                                                                "id": 784,
                                                                "name": "Identifier",
                                                                "src": "4599:8:7"
                                                            }
                                                        ],
                                                        "id": 786,
                                                        "name": "IndexAccess",
                                                        "src": "4579:29:7"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "isConstant": false,
                                                            "isLValue": true,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "member_name": "length",
                                                            "referencedDeclaration": null,
                                                            "type": "uint256"
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "isConstant": false,
                                                                    "isLValue": true,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "type": "bytes32[] storage ref"
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 587,
                                                                            "type": "mapping(bytes32 => bytes32[] storage ref)",
                                                                            "value": "vaults"
                                                                        },
                                                                        "id": 787,
                                                                        "name": "Identifier",
                                                                        "src": "4611:6:7"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 754,
                                                                            "type": "bytes32",
                                                                            "value": "_creator"
                                                                        },
                                                                        "id": 788,
                                                                        "name": "Identifier",
                                                                        "src": "4618:8:7"
                                                                    }
                                                                ],
                                                                "id": 789,
                                                                "name": "IndexAccess",
                                                                "src": "4611:16:7"
                                                            }
                                                        ],
                                                        "id": 790,
                                                        "name": "MemberAccess",
                                                        "src": "4611:23:7"
                                                    }
                                                ],
                                                "id": 791,
                                                "name": "Assignment",
                                                "src": "4579:55:7"
                                            }
                                        ],
                                        "id": 792,
                                        "name": "ExpressionStatement",
                                        "src": "4579:55:7"
                                    },
                                    {
                                        "children": [
                                            {
                                                "attributes": {
                                                    "argumentTypes": null,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "isStructConstructorCall": false,
                                                    "lValueRequested": false,
                                                    "names": [
                                                        null
                                                    ],
                                                    "type": "uint256",
                                                    "type_conversion": false
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": [
                                                                {
                                                                    "typeIdentifier": "t_bytes32",
                                                                    "typeString": "bytes32"
                                                                }
                                                            ],
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "member_name": "push",
                                                            "referencedDeclaration": null,
                                                            "type": "function (bytes32) returns (uint256)"
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "isConstant": false,
                                                                    "isLValue": true,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "type": "bytes32[] storage ref"
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 587,
                                                                            "type": "mapping(bytes32 => bytes32[] storage ref)",
                                                                            "value": "vaults"
                                                                        },
                                                                        "id": 793,
                                                                        "name": "Identifier",
                                                                        "src": "4645:6:7"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 754,
                                                                            "type": "bytes32",
                                                                            "value": "_creator"
                                                                        },
                                                                        "id": 794,
                                                                        "name": "Identifier",
                                                                        "src": "4652:8:7"
                                                                    }
                                                                ],
                                                                "id": 795,
                                                                "name": "IndexAccess",
                                                                "src": "4645:16:7"
                                                            }
                                                        ],
                                                        "id": 796,
                                                        "name": "MemberAccess",
                                                        "src": "4645:21:7"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "overloadedDeclarations": [
                                                                null
                                                            ],
                                                            "referencedDeclaration": 754,
                                                            "type": "bytes32",
                                                            "value": "_creator"
                                                        },
                                                        "id": 797,
                                                        "name": "Identifier",
                                                        "src": "4667:8:7"
                                                    }
                                                ],
                                                "id": 798,
                                                "name": "FunctionCall",
                                                "src": "4645:31:7"
                                            }
                                        ],
                                        "id": 799,
                                        "name": "ExpressionStatement",
                                        "src": "4645:31:7"
                                    }
                                ],
                                "id": 800,
                                "name": "Block",
                                "src": "4442:242:7"
                            }
                        ],
                        "id": 801,
                        "name": "FunctionDefinition",
                        "src": "4373:311:7"
                    },
                    {
                        "attributes": {
                            "documentation": "This function resets the vault owner's unique id\r\n@param _creator the vault's creator (eg, creator@email.com)\r\n@param _id vault creator's unique id using which it can be reached, eg, its Google/APNS token\r\n@param _new vault creator's new unique id\r",
                            "implemented": true,
                            "isConstructor": false,
                            "kind": "function",
                            "name": "resetPin",
                            "scope": 1949,
                            "stateMutability": "nonpayable",
                            "superFunction": 383,
                            "visibility": "external"
                        },
                        "children": [
                            {
                                "children": [
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "_creator",
                                            "scope": 821,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "bytes32",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "bytes32",
                                                    "type": "bytes32"
                                                },
                                                "id": 802,
                                                "name": "ElementaryTypeName",
                                                "src": "5011:7:7"
                                            }
                                        ],
                                        "id": 803,
                                        "name": "VariableDeclaration",
                                        "src": "5011:16:7"
                                    },
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "_id",
                                            "scope": 821,
                                            "stateVariable": false,
                                            "storageLocation": "calldata",
                                            "type": "string",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "string",
                                                    "type": "string"
                                                },
                                                "id": 804,
                                                "name": "ElementaryTypeName",
                                                "src": "5029:6:7"
                                            }
                                        ],
                                        "id": 805,
                                        "name": "VariableDeclaration",
                                        "src": "5029:19:7"
                                    },
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "_new",
                                            "scope": 821,
                                            "stateVariable": false,
                                            "storageLocation": "calldata",
                                            "type": "string",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "string",
                                                    "type": "string"
                                                },
                                                "id": 806,
                                                "name": "ElementaryTypeName",
                                                "src": "5050:6:7"
                                            }
                                        ],
                                        "id": 807,
                                        "name": "VariableDeclaration",
                                        "src": "5050:20:7"
                                    }
                                ],
                                "id": 808,
                                "name": "ParameterList",
                                "src": "5010:61:7"
                            },
                            {
                                "attributes": {
                                    "parameters": [
                                        null
                                    ]
                                },
                                "children": [],
                                "id": 813,
                                "name": "ParameterList",
                                "src": "5107:0:7"
                            },
                            {
                                "children": [
                                    {
                                        "attributes": {
                                            "argumentTypes": null,
                                            "overloadedDeclarations": [
                                                null
                                            ],
                                            "referencedDeclaration": 695,
                                            "type": "modifier (bytes32,string memory)",
                                            "value": "onlySigner"
                                        },
                                        "id": 809,
                                        "name": "Identifier",
                                        "src": "5072:10:7"
                                    },
                                    {
                                        "attributes": {
                                            "argumentTypes": null,
                                            "overloadedDeclarations": [
                                                null
                                            ],
                                            "referencedDeclaration": 803,
                                            "type": "bytes32",
                                            "value": "_creator"
                                        },
                                        "id": 810,
                                        "name": "Identifier",
                                        "src": "5083:8:7"
                                    },
                                    {
                                        "attributes": {
                                            "argumentTypes": null,
                                            "overloadedDeclarations": [
                                                null
                                            ],
                                            "referencedDeclaration": 805,
                                            "type": "string calldata",
                                            "value": "_id"
                                        },
                                        "id": 811,
                                        "name": "Identifier",
                                        "src": "5093:3:7"
                                    }
                                ],
                                "id": 812,
                                "name": "ModifierInvocation",
                                "src": "5072:25:7"
                            },
                            {
                                "children": [
                                    {
                                        "children": [
                                            {
                                                "attributes": {
                                                    "argumentTypes": null,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "operator": "=",
                                                    "type": "string storage ref"
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "isConstant": false,
                                                            "isLValue": true,
                                                            "isPure": false,
                                                            "lValueRequested": true,
                                                            "type": "string storage ref"
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "overloadedDeclarations": [
                                                                        null
                                                                    ],
                                                                    "referencedDeclaration": 582,
                                                                    "type": "mapping(bytes32 => string storage ref)",
                                                                    "value": "creators"
                                                                },
                                                                "id": 814,
                                                                "name": "Identifier",
                                                                "src": "5118:8:7"
                                                            },
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "overloadedDeclarations": [
                                                                        null
                                                                    ],
                                                                    "referencedDeclaration": 803,
                                                                    "type": "bytes32",
                                                                    "value": "_creator"
                                                                },
                                                                "id": 815,
                                                                "name": "Identifier",
                                                                "src": "5127:8:7"
                                                            }
                                                        ],
                                                        "id": 816,
                                                        "name": "IndexAccess",
                                                        "src": "5118:18:7"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "overloadedDeclarations": [
                                                                null
                                                            ],
                                                            "referencedDeclaration": 807,
                                                            "type": "string calldata",
                                                            "value": "_new"
                                                        },
                                                        "id": 817,
                                                        "name": "Identifier",
                                                        "src": "5139:4:7"
                                                    }
                                                ],
                                                "id": 818,
                                                "name": "Assignment",
                                                "src": "5118:25:7"
                                            }
                                        ],
                                        "id": 819,
                                        "name": "ExpressionStatement",
                                        "src": "5118:25:7"
                                    }
                                ],
                                "id": 820,
                                "name": "Block",
                                "src": "5107:44:7"
                            }
                        ],
                        "id": 821,
                        "name": "FunctionDefinition",
                        "src": "4993:158:7"
                    },
                    {
                        "attributes": {
                            "documentation": "This function returns list of vault creators\r",
                            "implemented": true,
                            "isConstructor": false,
                            "kind": "function",
                            "modifiers": [
                                null
                            ],
                            "name": "getVaults",
                            "scope": 1949,
                            "stateMutability": "view",
                            "superFunction": null,
                            "visibility": "external"
                        },
                        "children": [
                            {
                                "attributes": {
                                    "parameters": [
                                        null
                                    ]
                                },
                                "children": [],
                                "id": 822,
                                "name": "ParameterList",
                                "src": "5249:2:7"
                            },
                            {
                                "children": [
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "",
                                            "scope": 833,
                                            "stateVariable": false,
                                            "storageLocation": "memory",
                                            "type": "bytes32[]",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "length": null,
                                                    "type": "bytes32[]"
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "name": "bytes32",
                                                            "type": "bytes32"
                                                        },
                                                        "id": 823,
                                                        "name": "ElementaryTypeName",
                                                        "src": "5274:7:7"
                                                    }
                                                ],
                                                "id": 824,
                                                "name": "ArrayTypeName",
                                                "src": "5274:9:7"
                                            }
                                        ],
                                        "id": 825,
                                        "name": "VariableDeclaration",
                                        "src": "5274:16:7"
                                    }
                                ],
                                "id": 826,
                                "name": "ParameterList",
                                "src": "5273:18:7"
                            },
                            {
                                "children": [
                                    {
                                        "attributes": {
                                            "functionReturnParameters": 826
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "argumentTypes": null,
                                                    "isConstant": false,
                                                    "isLValue": true,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "type": "bytes32[] storage ref"
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "overloadedDeclarations": [
                                                                null
                                                            ],
                                                            "referencedDeclaration": 578,
                                                            "type": "mapping(address => bytes32[] storage ref)",
                                                            "value": "signers"
                                                        },
                                                        "id": 827,
                                                        "name": "Identifier",
                                                        "src": "5309:7:7"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "member_name": "sender",
                                                            "referencedDeclaration": null,
                                                            "type": "address payable"
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "overloadedDeclarations": [
                                                                        null
                                                                    ],
                                                                    "referencedDeclaration": 3956,
                                                                    "type": "msg",
                                                                    "value": "msg"
                                                                },
                                                                "id": 828,
                                                                "name": "Identifier",
                                                                "src": "5317:3:7"
                                                            }
                                                        ],
                                                        "id": 829,
                                                        "name": "MemberAccess",
                                                        "src": "5317:10:7"
                                                    }
                                                ],
                                                "id": 830,
                                                "name": "IndexAccess",
                                                "src": "5309:19:7"
                                            }
                                        ],
                                        "id": 831,
                                        "name": "Return",
                                        "src": "5302:26:7"
                                    }
                                ],
                                "id": 832,
                                "name": "Block",
                                "src": "5291:45:7"
                            }
                        ],
                        "id": 833,
                        "name": "FunctionDefinition",
                        "src": "5231:105:7"
                    },
                    {
                        "attributes": {
                            "documentation": "This function transfers a vault from the transferor (msg.sender) to transferee\r\n@param  _creator    vault to transfer\r\n@param _id          vault creator's unique id using which it can be reached, eg, its Google/APNS token\r\n@param  _transferee address of the new vault operator\r",
                            "implemented": true,
                            "isConstructor": false,
                            "kind": "function",
                            "name": "transferVault",
                            "scope": 1949,
                            "stateMutability": "nonpayable",
                            "superFunction": null,
                            "visibility": "external"
                        },
                        "children": [
                            {
                                "children": [
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "_creator",
                                            "scope": 903,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "bytes32",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "bytes32",
                                                    "type": "bytes32"
                                                },
                                                "id": 834,
                                                "name": "ElementaryTypeName",
                                                "src": "5695:7:7"
                                            }
                                        ],
                                        "id": 835,
                                        "name": "VariableDeclaration",
                                        "src": "5695:16:7"
                                    },
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "_id",
                                            "scope": 903,
                                            "stateVariable": false,
                                            "storageLocation": "calldata",
                                            "type": "string",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "string",
                                                    "type": "string"
                                                },
                                                "id": 836,
                                                "name": "ElementaryTypeName",
                                                "src": "5713:6:7"
                                            }
                                        ],
                                        "id": 837,
                                        "name": "VariableDeclaration",
                                        "src": "5713:19:7"
                                    },
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "_transferee",
                                            "scope": 903,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "address",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "address",
                                                    "stateMutability": "nonpayable",
                                                    "type": "address"
                                                },
                                                "id": 838,
                                                "name": "ElementaryTypeName",
                                                "src": "5734:7:7"
                                            }
                                        ],
                                        "id": 839,
                                        "name": "VariableDeclaration",
                                        "src": "5734:19:7"
                                    }
                                ],
                                "id": 840,
                                "name": "ParameterList",
                                "src": "5694:60:7"
                            },
                            {
                                "attributes": {
                                    "parameters": [
                                        null
                                    ]
                                },
                                "children": [],
                                "id": 845,
                                "name": "ParameterList",
                                "src": "5790:0:7"
                            },
                            {
                                "children": [
                                    {
                                        "attributes": {
                                            "argumentTypes": null,
                                            "overloadedDeclarations": [
                                                null
                                            ],
                                            "referencedDeclaration": 695,
                                            "type": "modifier (bytes32,string memory)",
                                            "value": "onlySigner"
                                        },
                                        "id": 841,
                                        "name": "Identifier",
                                        "src": "5755:10:7"
                                    },
                                    {
                                        "attributes": {
                                            "argumentTypes": null,
                                            "overloadedDeclarations": [
                                                null
                                            ],
                                            "referencedDeclaration": 835,
                                            "type": "bytes32",
                                            "value": "_creator"
                                        },
                                        "id": 842,
                                        "name": "Identifier",
                                        "src": "5766:8:7"
                                    },
                                    {
                                        "attributes": {
                                            "argumentTypes": null,
                                            "overloadedDeclarations": [
                                                null
                                            ],
                                            "referencedDeclaration": 837,
                                            "type": "string calldata",
                                            "value": "_id"
                                        },
                                        "id": 843,
                                        "name": "Identifier",
                                        "src": "5776:3:7"
                                    }
                                ],
                                "id": 844,
                                "name": "ModifierInvocation",
                                "src": "5755:25:7"
                            },
                            {
                                "children": [
                                    {
                                        "attributes": {
                                            "assignments": [
                                                847
                                            ]
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "constant": false,
                                                    "name": "found",
                                                    "scope": 902,
                                                    "stateVariable": false,
                                                    "storageLocation": "default",
                                                    "type": "bool",
                                                    "value": null,
                                                    "visibility": "internal"
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "name": "bool",
                                                            "type": "bool"
                                                        },
                                                        "id": 846,
                                                        "name": "ElementaryTypeName",
                                                        "src": "5801:4:7"
                                                    }
                                                ],
                                                "id": 847,
                                                "name": "VariableDeclaration",
                                                "src": "5801:10:7"
                                            },
                                            {
                                                "attributes": {
                                                    "argumentTypes": null,
                                                    "hexvalue": "66616c7365",
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "subdenomination": null,
                                                    "token": "bool",
                                                    "type": "bool",
                                                    "value": "false"
                                                },
                                                "id": 848,
                                                "name": "Literal",
                                                "src": "5814:5:7"
                                            }
                                        ],
                                        "id": 849,
                                        "name": "VariableDeclarationStatement",
                                        "src": "5801:18:7"
                                    },
                                    {
                                        "children": [
                                            {
                                                "attributes": {
                                                    "assignments": [
                                                        851
                                                    ]
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "constant": false,
                                                            "name": "i",
                                                            "scope": 887,
                                                            "stateVariable": false,
                                                            "storageLocation": "default",
                                                            "type": "uint256",
                                                            "value": null,
                                                            "visibility": "internal"
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "name": "uint",
                                                                    "type": "uint256"
                                                                },
                                                                "id": 850,
                                                                "name": "ElementaryTypeName",
                                                                "src": "5834:4:7"
                                                            }
                                                        ],
                                                        "id": 851,
                                                        "name": "VariableDeclaration",
                                                        "src": "5834:6:7"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "hexvalue": "30",
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": true,
                                                            "lValueRequested": false,
                                                            "subdenomination": null,
                                                            "token": "number",
                                                            "type": "int_const 0",
                                                            "value": "0"
                                                        },
                                                        "id": 852,
                                                        "name": "Literal",
                                                        "src": "5841:1:7"
                                                    }
                                                ],
                                                "id": 853,
                                                "name": "VariableDeclarationStatement",
                                                "src": "5834:8:7"
                                            },
                                            {
                                                "attributes": {
                                                    "argumentTypes": null,
                                                    "commonType": {
                                                        "typeIdentifier": "t_uint256",
                                                        "typeString": "uint256"
                                                    },
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "operator": "<",
                                                    "type": "bool"
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "overloadedDeclarations": [
                                                                null
                                                            ],
                                                            "referencedDeclaration": 851,
                                                            "type": "uint256",
                                                            "value": "i"
                                                        },
                                                        "id": 854,
                                                        "name": "Identifier",
                                                        "src": "5844:1:7"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "isConstant": false,
                                                            "isLValue": true,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "member_name": "length",
                                                            "referencedDeclaration": null,
                                                            "type": "uint256"
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "isConstant": false,
                                                                    "isLValue": true,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "type": "bytes32[] storage ref"
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 578,
                                                                            "type": "mapping(address => bytes32[] storage ref)",
                                                                            "value": "signers"
                                                                        },
                                                                        "id": 855,
                                                                        "name": "Identifier",
                                                                        "src": "5846:7:7"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "isConstant": false,
                                                                            "isLValue": false,
                                                                            "isPure": false,
                                                                            "lValueRequested": false,
                                                                            "member_name": "sender",
                                                                            "referencedDeclaration": null,
                                                                            "type": "address payable"
                                                                        },
                                                                        "children": [
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "overloadedDeclarations": [
                                                                                        null
                                                                                    ],
                                                                                    "referencedDeclaration": 3956,
                                                                                    "type": "msg",
                                                                                    "value": "msg"
                                                                                },
                                                                                "id": 856,
                                                                                "name": "Identifier",
                                                                                "src": "5854:3:7"
                                                                            }
                                                                        ],
                                                                        "id": 857,
                                                                        "name": "MemberAccess",
                                                                        "src": "5854:10:7"
                                                                    }
                                                                ],
                                                                "id": 858,
                                                                "name": "IndexAccess",
                                                                "src": "5846:19:7"
                                                            }
                                                        ],
                                                        "id": 859,
                                                        "name": "MemberAccess",
                                                        "src": "5846:26:7"
                                                    }
                                                ],
                                                "id": 860,
                                                "name": "BinaryOperation",
                                                "src": "5844:28:7"
                                            },
                                            {
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "operator": "++",
                                                            "prefix": false,
                                                            "type": "uint256"
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "overloadedDeclarations": [
                                                                        null
                                                                    ],
                                                                    "referencedDeclaration": 851,
                                                                    "type": "uint256",
                                                                    "value": "i"
                                                                },
                                                                "id": 861,
                                                                "name": "Identifier",
                                                                "src": "5874:1:7"
                                                            }
                                                        ],
                                                        "id": 862,
                                                        "name": "UnaryOperation",
                                                        "src": "5874:3:7"
                                                    }
                                                ],
                                                "id": 863,
                                                "name": "ExpressionStatement",
                                                "src": "5874:3:7"
                                            },
                                            {
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "falseBody": null
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "commonType": {
                                                                        "typeIdentifier": "t_bytes32",
                                                                        "typeString": "bytes32"
                                                                    },
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "operator": "==",
                                                                    "type": "bool"
                                                                },
                                                                "children": [
                                                                    {
                                                                        "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,
                                                                                    "type": "bytes32[] storage ref"
                                                                                },
                                                                                "children": [
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "overloadedDeclarations": [
                                                                                                null
                                                                                            ],
                                                                                            "referencedDeclaration": 578,
                                                                                            "type": "mapping(address => bytes32[] storage ref)",
                                                                                            "value": "signers"
                                                                                        },
                                                                                        "id": 864,
                                                                                        "name": "Identifier",
                                                                                        "src": "5896:7:7"
                                                                                    },
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "isConstant": false,
                                                                                            "isLValue": false,
                                                                                            "isPure": false,
                                                                                            "lValueRequested": false,
                                                                                            "member_name": "sender",
                                                                                            "referencedDeclaration": null,
                                                                                            "type": "address payable"
                                                                                        },
                                                                                        "children": [
                                                                                            {
                                                                                                "attributes": {
                                                                                                    "argumentTypes": null,
                                                                                                    "overloadedDeclarations": [
                                                                                                        null
                                                                                                    ],
                                                                                                    "referencedDeclaration": 3956,
                                                                                                    "type": "msg",
                                                                                                    "value": "msg"
                                                                                                },
                                                                                                "id": 865,
                                                                                                "name": "Identifier",
                                                                                                "src": "5904:3:7"
                                                                                            }
                                                                                        ],
                                                                                        "id": 866,
                                                                                        "name": "MemberAccess",
                                                                                        "src": "5904:10:7"
                                                                                    }
                                                                                ],
                                                                                "id": 867,
                                                                                "name": "IndexAccess",
                                                                                "src": "5896:19:7"
                                                                            },
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "overloadedDeclarations": [
                                                                                        null
                                                                                    ],
                                                                                    "referencedDeclaration": 851,
                                                                                    "type": "uint256",
                                                                                    "value": "i"
                                                                                },
                                                                                "id": 868,
                                                                                "name": "Identifier",
                                                                                "src": "5916:1:7"
                                                                            }
                                                                        ],
                                                                        "id": 869,
                                                                        "name": "IndexAccess",
                                                                        "src": "5896:22:7"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 835,
                                                                            "type": "bytes32",
                                                                            "value": "_creator"
                                                                        },
                                                                        "id": 870,
                                                                        "name": "Identifier",
                                                                        "src": "5920:8:7"
                                                                    }
                                                                ],
                                                                "id": 871,
                                                                "name": "BinaryOperation",
                                                                "src": "5896:32:7"
                                                            },
                                                            {
                                                                "children": [
                                                                    {
                                                                        "children": [
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "isConstant": false,
                                                                                    "isLValue": false,
                                                                                    "isPure": false,
                                                                                    "lValueRequested": false,
                                                                                    "operator": "=",
                                                                                    "type": "bool"
                                                                                },
                                                                                "children": [
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "overloadedDeclarations": [
                                                                                                null
                                                                                            ],
                                                                                            "referencedDeclaration": 847,
                                                                                            "type": "bool",
                                                                                            "value": "found"
                                                                                        },
                                                                                        "id": 872,
                                                                                        "name": "Identifier",
                                                                                        "src": "5948:5:7"
                                                                                    },
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "hexvalue": "74727565",
                                                                                            "isConstant": false,
                                                                                            "isLValue": false,
                                                                                            "isPure": true,
                                                                                            "lValueRequested": false,
                                                                                            "subdenomination": null,
                                                                                            "token": "bool",
                                                                                            "type": "bool",
                                                                                            "value": "true"
                                                                                        },
                                                                                        "id": 873,
                                                                                        "name": "Literal",
                                                                                        "src": "5956:4:7"
                                                                                    }
                                                                                ],
                                                                                "id": 874,
                                                                                "name": "Assignment",
                                                                                "src": "5948:12:7"
                                                                            }
                                                                        ],
                                                                        "id": 875,
                                                                        "name": "ExpressionStatement",
                                                                        "src": "5948:12:7"
                                                                    },
                                                                    {
                                                                        "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": "bytes32"
                                                                                        },
                                                                                        "children": [
                                                                                            {
                                                                                                "attributes": {
                                                                                                    "argumentTypes": null,
                                                                                                    "isConstant": false,
                                                                                                    "isLValue": true,
                                                                                                    "isPure": false,
                                                                                                    "lValueRequested": false,
                                                                                                    "type": "bytes32[] storage ref"
                                                                                                },
                                                                                                "children": [
                                                                                                    {
                                                                                                        "attributes": {
                                                                                                            "argumentTypes": null,
                                                                                                            "overloadedDeclarations": [
                                                                                                                null
                                                                                                            ],
                                                                                                            "referencedDeclaration": 578,
                                                                                                            "type": "mapping(address => bytes32[] storage ref)",
                                                                                                            "value": "signers"
                                                                                                        },
                                                                                                        "id": 876,
                                                                                                        "name": "Identifier",
                                                                                                        "src": "5986:7:7"
                                                                                                    },
                                                                                                    {
                                                                                                        "attributes": {
                                                                                                            "argumentTypes": null,
                                                                                                            "isConstant": false,
                                                                                                            "isLValue": false,
                                                                                                            "isPure": false,
                                                                                                            "lValueRequested": false,
                                                                                                            "member_name": "sender",
                                                                                                            "referencedDeclaration": null,
                                                                                                            "type": "address payable"
                                                                                                        },
                                                                                                        "children": [
                                                                                                            {
                                                                                                                "attributes": {
                                                                                                                    "argumentTypes": null,
                                                                                                                    "overloadedDeclarations": [
                                                                                                                        null
                                                                                                                    ],
                                                                                                                    "referencedDeclaration": 3956,
                                                                                                                    "type": "msg",
                                                                                                                    "value": "msg"
                                                                                                                },
                                                                                                                "id": 877,
                                                                                                                "name": "Identifier",
                                                                                                                "src": "5994:3:7"
                                                                                                            }
                                                                                                        ],
                                                                                                        "id": 878,
                                                                                                        "name": "MemberAccess",
                                                                                                        "src": "5994:10:7"
                                                                                                    }
                                                                                                ],
                                                                                                "id": 879,
                                                                                                "name": "IndexAccess",
                                                                                                "src": "5986:19:7"
                                                                                            },
                                                                                            {
                                                                                                "attributes": {
                                                                                                    "argumentTypes": null,
                                                                                                    "overloadedDeclarations": [
                                                                                                        null
                                                                                                    ],
                                                                                                    "referencedDeclaration": 851,
                                                                                                    "type": "uint256",
                                                                                                    "value": "i"
                                                                                                },
                                                                                                "id": 880,
                                                                                                "name": "Identifier",
                                                                                                "src": "6006:1:7"
                                                                                            }
                                                                                        ],
                                                                                        "id": 881,
                                                                                        "name": "IndexAccess",
                                                                                        "src": "5986:22:7"
                                                                                    }
                                                                                ],
                                                                                "id": 882,
                                                                                "name": "UnaryOperation",
                                                                                "src": "5979:29:7"
                                                                            }
                                                                        ],
                                                                        "id": 883,
                                                                        "name": "ExpressionStatement",
                                                                        "src": "5979:29:7"
                                                                    }
                                                                ],
                                                                "id": 884,
                                                                "name": "Block",
                                                                "src": "5929:95:7"
                                                            }
                                                        ],
                                                        "id": 885,
                                                        "name": "IfStatement",
                                                        "src": "5893:131:7"
                                                    }
                                                ],
                                                "id": 886,
                                                "name": "Block",
                                                "src": "5878:157:7"
                                            }
                                        ],
                                        "id": 887,
                                        "name": "ForStatement",
                                        "src": "5830:205:7"
                                    },
                                    {
                                        "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"
                                                                },
                                                                {
                                                                    "typeIdentifier": "t_stringliteral_f37a082e01a85edd8341f0ebe503684b2e02e2e628aaf440f1c678d418b8334a",
                                                                    "typeString": "literal_string \"Not a valid signer\""
                                                                }
                                                            ],
                                                            "overloadedDeclarations": [
                                                                3959,
                                                                3960
                                                            ],
                                                            "referencedDeclaration": 3960,
                                                            "type": "function (bool,string memory) pure",
                                                            "value": "require"
                                                        },
                                                        "id": 888,
                                                        "name": "Identifier",
                                                        "src": "6045:7:7"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "commonType": {
                                                                "typeIdentifier": "t_bool",
                                                                "typeString": "bool"
                                                            },
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "operator": "==",
                                                            "type": "bool"
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "overloadedDeclarations": [
                                                                        null
                                                                    ],
                                                                    "referencedDeclaration": 847,
                                                                    "type": "bool",
                                                                    "value": "found"
                                                                },
                                                                "id": 889,
                                                                "name": "Identifier",
                                                                "src": "6053:5:7"
                                                            },
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "hexvalue": "74727565",
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": true,
                                                                    "lValueRequested": false,
                                                                    "subdenomination": null,
                                                                    "token": "bool",
                                                                    "type": "bool",
                                                                    "value": "true"
                                                                },
                                                                "id": 890,
                                                                "name": "Literal",
                                                                "src": "6060:4:7"
                                                            }
                                                        ],
                                                        "id": 891,
                                                        "name": "BinaryOperation",
                                                        "src": "6053:11:7"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "hexvalue": "4e6f7420612076616c6964207369676e6572",
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": true,
                                                            "lValueRequested": false,
                                                            "subdenomination": null,
                                                            "token": "string",
                                                            "type": "literal_string \"Not a valid signer\"",
                                                            "value": "Not a valid signer"
                                                        },
                                                        "id": 892,
                                                        "name": "Literal",
                                                        "src": "6066:20:7"
                                                    }
                                                ],
                                                "id": 893,
                                                "name": "FunctionCall",
                                                "src": "6045:42:7"
                                            }
                                        ],
                                        "id": 894,
                                        "name": "ExpressionStatement",
                                        "src": "6045:42:7"
                                    },
                                    {
                                        "children": [
                                            {
                                                "attributes": {
                                                    "argumentTypes": null,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "isStructConstructorCall": false,
                                                    "lValueRequested": false,
                                                    "names": [
                                                        null
                                                    ],
                                                    "type": "uint256",
                                                    "type_conversion": false
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": [
                                                                {
                                                                    "typeIdentifier": "t_bytes32",
                                                                    "typeString": "bytes32"
                                                                }
                                                            ],
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "member_name": "push",
                                                            "referencedDeclaration": null,
                                                            "type": "function (bytes32) returns (uint256)"
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "isConstant": false,
                                                                    "isLValue": true,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "type": "bytes32[] storage ref"
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 578,
                                                                            "type": "mapping(address => bytes32[] storage ref)",
                                                                            "value": "signers"
                                                                        },
                                                                        "id": 895,
                                                                        "name": "Identifier",
                                                                        "src": "6098:7:7"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 839,
                                                                            "type": "address",
                                                                            "value": "_transferee"
                                                                        },
                                                                        "id": 896,
                                                                        "name": "Identifier",
                                                                        "src": "6106:11:7"
                                                                    }
                                                                ],
                                                                "id": 897,
                                                                "name": "IndexAccess",
                                                                "src": "6098:20:7"
                                                            }
                                                        ],
                                                        "id": 898,
                                                        "name": "MemberAccess",
                                                        "src": "6098:25:7"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "overloadedDeclarations": [
                                                                null
                                                            ],
                                                            "referencedDeclaration": 835,
                                                            "type": "bytes32",
                                                            "value": "_creator"
                                                        },
                                                        "id": 899,
                                                        "name": "Identifier",
                                                        "src": "6124:8:7"
                                                    }
                                                ],
                                                "id": 900,
                                                "name": "FunctionCall",
                                                "src": "6098:35:7"
                                            }
                                        ],
                                        "id": 901,
                                        "name": "ExpressionStatement",
                                        "src": "6098:35:7"
                                    }
                                ],
                                "id": 902,
                                "name": "Block",
                                "src": "5790:351:7"
                            }
                        ],
                        "id": 903,
                        "name": "FunctionDefinition",
                        "src": "5672:469:7"
                    },
                    {
                        "attributes": {
                            "documentation": "This function returns the vault creator's unique ID (eg, Google/APNS messaging token)\r\n@param _creator the vault creator (eg, creator@email.com)\r\n@return the vault creator's unique ID\r",
                            "implemented": true,
                            "isConstructor": false,
                            "kind": "function",
                            "modifiers": [
                                null
                            ],
                            "name": "getCreator",
                            "scope": 1949,
                            "stateMutability": "view",
                            "superFunction": 392,
                            "visibility": "external"
                        },
                        "children": [
                            {
                                "children": [
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "_creator",
                                            "scope": 948,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "bytes32",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "bytes32",
                                                    "type": "bytes32"
                                                },
                                                "id": 904,
                                                "name": "ElementaryTypeName",
                                                "src": "6396:7:7"
                                            }
                                        ],
                                        "id": 905,
                                        "name": "VariableDeclaration",
                                        "src": "6396:16:7"
                                    },
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "_pin",
                                            "scope": 948,
                                            "stateVariable": false,
                                            "storageLocation": "calldata",
                                            "type": "string",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "string",
                                                    "type": "string"
                                                },
                                                "id": 906,
                                                "name": "ElementaryTypeName",
                                                "src": "6414:6:7"
                                            }
                                        ],
                                        "id": 907,
                                        "name": "VariableDeclaration",
                                        "src": "6414:20:7"
                                    }
                                ],
                                "id": 908,
                                "name": "ParameterList",
                                "src": "6395:40:7"
                            },
                            {
                                "children": [
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "",
                                            "scope": 948,
                                            "stateVariable": false,
                                            "storageLocation": "memory",
                                            "type": "string",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "string",
                                                    "type": "string"
                                                },
                                                "id": 909,
                                                "name": "ElementaryTypeName",
                                                "src": "6458:6:7"
                                            }
                                        ],
                                        "id": 910,
                                        "name": "VariableDeclaration",
                                        "src": "6458:13:7"
                                    }
                                ],
                                "id": 911,
                                "name": "ParameterList",
                                "src": "6457:15:7"
                            },
                            {
                                "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"
                                                                },
                                                                {
                                                                    "typeIdentifier": "t_stringliteral_cf28cac2e077539d2938d211ab7ed1219b0df97b9af964f46c68e454ecaac58b",
                                                                    "typeString": "literal_string \"Wallet not created\""
                                                                }
                                                            ],
                                                            "overloadedDeclarations": [
                                                                3959,
                                                                3960
                                                            ],
                                                            "referencedDeclaration": 3960,
                                                            "type": "function (bool,string memory) pure",
                                                            "value": "require"
                                                        },
                                                        "id": 912,
                                                        "name": "Identifier",
                                                        "src": "6485:7:7"
                                                    },
                                                    {
                                                        "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": "length",
                                                                    "referencedDeclaration": null,
                                                                    "type": "uint256"
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "isConstant": false,
                                                                            "isLValue": true,
                                                                            "isPure": false,
                                                                            "lValueRequested": false,
                                                                            "type": "bytes32[] storage ref"
                                                                        },
                                                                        "children": [
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "overloadedDeclarations": [
                                                                                        null
                                                                                    ],
                                                                                    "referencedDeclaration": 587,
                                                                                    "type": "mapping(bytes32 => bytes32[] storage ref)",
                                                                                    "value": "vaults"
                                                                                },
                                                                                "id": 913,
                                                                                "name": "Identifier",
                                                                                "src": "6493:6:7"
                                                                            },
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "overloadedDeclarations": [
                                                                                        null
                                                                                    ],
                                                                                    "referencedDeclaration": 905,
                                                                                    "type": "bytes32",
                                                                                    "value": "_creator"
                                                                                },
                                                                                "id": 914,
                                                                                "name": "Identifier",
                                                                                "src": "6500:8:7"
                                                                            }
                                                                        ],
                                                                        "id": 915,
                                                                        "name": "IndexAccess",
                                                                        "src": "6493:16:7"
                                                                    }
                                                                ],
                                                                "id": 916,
                                                                "name": "MemberAccess",
                                                                "src": "6493:23:7"
                                                            },
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "hexvalue": "30",
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": true,
                                                                    "lValueRequested": false,
                                                                    "subdenomination": null,
                                                                    "token": "number",
                                                                    "type": "int_const 0",
                                                                    "value": "0"
                                                                },
                                                                "id": 917,
                                                                "name": "Literal",
                                                                "src": "6517:1:7"
                                                            }
                                                        ],
                                                        "id": 918,
                                                        "name": "BinaryOperation",
                                                        "src": "6493:25:7"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "hexvalue": "57616c6c6574206e6f742063726561746564",
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": true,
                                                            "lValueRequested": false,
                                                            "subdenomination": null,
                                                            "token": "string",
                                                            "type": "literal_string \"Wallet not created\"",
                                                            "value": "Wallet not created"
                                                        },
                                                        "id": 919,
                                                        "name": "Literal",
                                                        "src": "6520:20:7"
                                                    }
                                                ],
                                                "id": 920,
                                                "name": "FunctionCall",
                                                "src": "6485:56:7"
                                            }
                                        ],
                                        "id": 921,
                                        "name": "ExpressionStatement",
                                        "src": "6485:56:7"
                                    },
                                    {
                                        "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"
                                                                },
                                                                {
                                                                    "typeIdentifier": "t_stringliteral_f1f57ed7febb4e4767182e29f0f1c3922eb171b15af96477fb5211a0fc44866b",
                                                                    "typeString": "literal_string \"Invalid PIN\""
                                                                }
                                                            ],
                                                            "overloadedDeclarations": [
                                                                3959,
                                                                3960
                                                            ],
                                                            "referencedDeclaration": 3960,
                                                            "type": "function (bool,string memory) pure",
                                                            "value": "require"
                                                        },
                                                        "id": 922,
                                                        "name": "Identifier",
                                                        "src": "6555:7:7"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "commonType": {
                                                                "typeIdentifier": "t_bytes32",
                                                                "typeString": "bytes32"
                                                            },
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "operator": "==",
                                                            "type": "bool"
                                                        },
                                                        "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_bytes_memory_ptr",
                                                                                    "typeString": "bytes memory"
                                                                                }
                                                                            ],
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 3950,
                                                                            "type": "function (bytes memory) pure returns (bytes32)",
                                                                            "value": "keccak256"
                                                                        },
                                                                        "id": 923,
                                                                        "name": "Identifier",
                                                                        "src": "6563:9:7"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "isConstant": false,
                                                                            "isLValue": false,
                                                                            "isPure": false,
                                                                            "isStructConstructorCall": false,
                                                                            "lValueRequested": false,
                                                                            "names": [
                                                                                null
                                                                            ],
                                                                            "type": "bytes memory",
                                                                            "type_conversion": false
                                                                        },
                                                                        "children": [
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": [
                                                                                        {
                                                                                            "typeIdentifier": "t_string_storage",
                                                                                            "typeString": "string storage ref"
                                                                                        }
                                                                                    ],
                                                                                    "isConstant": false,
                                                                                    "isLValue": false,
                                                                                    "isPure": true,
                                                                                    "lValueRequested": false,
                                                                                    "member_name": "encodePacked",
                                                                                    "referencedDeclaration": null,
                                                                                    "type": "function () pure returns (bytes memory)"
                                                                                },
                                                                                "children": [
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "overloadedDeclarations": [
                                                                                                null
                                                                                            ],
                                                                                            "referencedDeclaration": 3943,
                                                                                            "type": "abi",
                                                                                            "value": "abi"
                                                                                        },
                                                                                        "id": 924,
                                                                                        "name": "Identifier",
                                                                                        "src": "6573:3:7"
                                                                                    }
                                                                                ],
                                                                                "id": 925,
                                                                                "name": "MemberAccess",
                                                                                "src": "6573:16:7"
                                                                            },
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "isConstant": false,
                                                                                    "isLValue": true,
                                                                                    "isPure": false,
                                                                                    "lValueRequested": false,
                                                                                    "type": "string storage ref"
                                                                                },
                                                                                "children": [
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "isConstant": false,
                                                                                            "isLValue": true,
                                                                                            "isPure": false,
                                                                                            "lValueRequested": false,
                                                                                            "type": "mapping(bytes32 => string storage ref)"
                                                                                        },
                                                                                        "children": [
                                                                                            {
                                                                                                "attributes": {
                                                                                                    "argumentTypes": null,
                                                                                                    "overloadedDeclarations": [
                                                                                                        null
                                                                                                    ],
                                                                                                    "referencedDeclaration": 599,
                                                                                                    "type": "mapping(bytes32 => mapping(bytes32 => string storage ref))",
                                                                                                    "value": "pins"
                                                                                                },
                                                                                                "id": 926,
                                                                                                "name": "Identifier",
                                                                                                "src": "6590:4:7"
                                                                                            },
                                                                                            {
                                                                                                "attributes": {
                                                                                                    "argumentTypes": null,
                                                                                                    "overloadedDeclarations": [
                                                                                                        null
                                                                                                    ],
                                                                                                    "referencedDeclaration": 905,
                                                                                                    "type": "bytes32",
                                                                                                    "value": "_creator"
                                                                                                },
                                                                                                "id": 927,
                                                                                                "name": "Identifier",
                                                                                                "src": "6595:8:7"
                                                                                            }
                                                                                        ],
                                                                                        "id": 928,
                                                                                        "name": "IndexAccess",
                                                                                        "src": "6590:14:7"
                                                                                    },
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "overloadedDeclarations": [
                                                                                                null
                                                                                            ],
                                                                                            "referencedDeclaration": 905,
                                                                                            "type": "bytes32",
                                                                                            "value": "_creator"
                                                                                        },
                                                                                        "id": 929,
                                                                                        "name": "Identifier",
                                                                                        "src": "6605:8:7"
                                                                                    }
                                                                                ],
                                                                                "id": 930,
                                                                                "name": "IndexAccess",
                                                                                "src": "6590:24:7"
                                                                            }
                                                                        ],
                                                                        "id": 931,
                                                                        "name": "FunctionCall",
                                                                        "src": "6573:42:7"
                                                                    }
                                                                ],
                                                                "id": 932,
                                                                "name": "FunctionCall",
                                                                "src": "6563:53:7"
                                                            },
                                                            {
                                                                "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_bytes_memory_ptr",
                                                                                    "typeString": "bytes memory"
                                                                                }
                                                                            ],
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 3950,
                                                                            "type": "function (bytes memory) pure returns (bytes32)",
                                                                            "value": "keccak256"
                                                                        },
                                                                        "id": 933,
                                                                        "name": "Identifier",
                                                                        "src": "6620:9:7"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "isConstant": false,
                                                                            "isLValue": false,
                                                                            "isPure": false,
                                                                            "isStructConstructorCall": false,
                                                                            "lValueRequested": false,
                                                                            "names": [
                                                                                null
                                                                            ],
                                                                            "type": "bytes memory",
                                                                            "type_conversion": false
                                                                        },
                                                                        "children": [
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": [
                                                                                        {
                                                                                            "typeIdentifier": "t_string_calldata_ptr",
                                                                                            "typeString": "string calldata"
                                                                                        }
                                                                                    ],
                                                                                    "isConstant": false,
                                                                                    "isLValue": false,
                                                                                    "isPure": true,
                                                                                    "lValueRequested": false,
                                                                                    "member_name": "encodePacked",
                                                                                    "referencedDeclaration": null,
                                                                                    "type": "function () pure returns (bytes memory)"
                                                                                },
                                                                                "children": [
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "overloadedDeclarations": [
                                                                                                null
                                                                                            ],
                                                                                            "referencedDeclaration": 3943,
                                                                                            "type": "abi",
                                                                                            "value": "abi"
                                                                                        },
                                                                                        "id": 934,
                                                                                        "name": "Identifier",
                                                                                        "src": "6630:3:7"
                                                                                    }
                                                                                ],
                                                                                "id": 935,
                                                                                "name": "MemberAccess",
                                                                                "src": "6630:16:7"
                                                                            },
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "overloadedDeclarations": [
                                                                                        null
                                                                                    ],
                                                                                    "referencedDeclaration": 907,
                                                                                    "type": "string calldata",
                                                                                    "value": "_pin"
                                                                                },
                                                                                "id": 936,
                                                                                "name": "Identifier",
                                                                                "src": "6647:4:7"
                                                                            }
                                                                        ],
                                                                        "id": 937,
                                                                        "name": "FunctionCall",
                                                                        "src": "6630:22:7"
                                                                    }
                                                                ],
                                                                "id": 938,
                                                                "name": "FunctionCall",
                                                                "src": "6620:33:7"
                                                            }
                                                        ],
                                                        "id": 939,
                                                        "name": "BinaryOperation",
                                                        "src": "6563:90:7"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "hexvalue": "496e76616c69642050494e",
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": true,
                                                            "lValueRequested": false,
                                                            "subdenomination": null,
                                                            "token": "string",
                                                            "type": "literal_string \"Invalid PIN\"",
                                                            "value": "Invalid PIN"
                                                        },
                                                        "id": 940,
                                                        "name": "Literal",
                                                        "src": "6655:13:7"
                                                    }
                                                ],
                                                "id": 941,
                                                "name": "FunctionCall",
                                                "src": "6555:114:7"
                                            }
                                        ],
                                        "id": 942,
                                        "name": "ExpressionStatement",
                                        "src": "6555:114:7"
                                    },
                                    {
                                        "attributes": {
                                            "functionReturnParameters": 911
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "argumentTypes": null,
                                                    "isConstant": false,
                                                    "isLValue": true,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "type": "string storage ref"
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "overloadedDeclarations": [
                                                                null
                                                            ],
                                                            "referencedDeclaration": 582,
                                                            "type": "mapping(bytes32 => string storage ref)",
                                                            "value": "creators"
                                                        },
                                                        "id": 943,
                                                        "name": "Identifier",
                                                        "src": "6690:8:7"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "overloadedDeclarations": [
                                                                null
                                                            ],
                                                            "referencedDeclaration": 905,
                                                            "type": "bytes32",
                                                            "value": "_creator"
                                                        },
                                                        "id": 944,
                                                        "name": "Identifier",
                                                        "src": "6699:8:7"
                                                    }
                                                ],
                                                "id": 945,
                                                "name": "IndexAccess",
                                                "src": "6690:18:7"
                                            }
                                        ],
                                        "id": 946,
                                        "name": "Return",
                                        "src": "6683:25:7"
                                    }
                                ],
                                "id": 947,
                                "name": "Block",
                                "src": "6472:252:7"
                            }
                        ],
                        "id": 948,
                        "name": "FunctionDefinition",
                        "src": "6376:348:7"
                    },
                    {
                        "attributes": {
                            "documentation": "This function adds a participant to a vault that belongs to its creator\r\n@param _creator vault creator's username, eg creator@email.com\r\n@param _id vault creator's unique id using which it can be reached, eg, its Google/APNS token\r\n@param _participant vault participant's username, eg participant@email.com\r\n@param _shard the private key shard of the participant\r",
                            "implemented": true,
                            "isConstructor": false,
                            "kind": "function",
                            "name": "addParticipant",
                            "scope": 1949,
                            "stateMutability": "nonpayable",
                            "superFunction": 403,
                            "visibility": "external"
                        },
                        "children": [
                            {
                                "children": [
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "_creator",
                                            "scope": 1052,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "bytes32",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "bytes32",
                                                    "type": "bytes32"
                                                },
                                                "id": 949,
                                                "name": "ElementaryTypeName",
                                                "src": "7178:7:7"
                                            }
                                        ],
                                        "id": 950,
                                        "name": "VariableDeclaration",
                                        "src": "7178:16:7"
                                    },
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "_id",
                                            "scope": 1052,
                                            "stateVariable": false,
                                            "storageLocation": "calldata",
                                            "type": "string",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "string",
                                                    "type": "string"
                                                },
                                                "id": 951,
                                                "name": "ElementaryTypeName",
                                                "src": "7196:6:7"
                                            }
                                        ],
                                        "id": 952,
                                        "name": "VariableDeclaration",
                                        "src": "7196:19:7"
                                    },
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "_participant",
                                            "scope": 1052,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "bytes32",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "bytes32",
                                                    "type": "bytes32"
                                                },
                                                "id": 953,
                                                "name": "ElementaryTypeName",
                                                "src": "7217:7:7"
                                            }
                                        ],
                                        "id": 954,
                                        "name": "VariableDeclaration",
                                        "src": "7217:20:7"
                                    },
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "_shard",
                                            "scope": 1052,
                                            "stateVariable": false,
                                            "storageLocation": "calldata",
                                            "type": "string",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "string",
                                                    "type": "string"
                                                },
                                                "id": 955,
                                                "name": "ElementaryTypeName",
                                                "src": "7239:6:7"
                                            }
                                        ],
                                        "id": 956,
                                        "name": "VariableDeclaration",
                                        "src": "7239:22:7"
                                    }
                                ],
                                "id": 957,
                                "name": "ParameterList",
                                "src": "7177:85:7"
                            },
                            {
                                "attributes": {
                                    "parameters": [
                                        null
                                    ]
                                },
                                "children": [],
                                "id": 962,
                                "name": "ParameterList",
                                "src": "7298:0:7"
                            },
                            {
                                "children": [
                                    {
                                        "attributes": {
                                            "argumentTypes": null,
                                            "overloadedDeclarations": [
                                                null
                                            ],
                                            "referencedDeclaration": 695,
                                            "type": "modifier (bytes32,string memory)",
                                            "value": "onlySigner"
                                        },
                                        "id": 958,
                                        "name": "Identifier",
                                        "src": "7263:10:7"
                                    },
                                    {
                                        "attributes": {
                                            "argumentTypes": null,
                                            "overloadedDeclarations": [
                                                null
                                            ],
                                            "referencedDeclaration": 950,
                                            "type": "bytes32",
                                            "value": "_creator"
                                        },
                                        "id": 959,
                                        "name": "Identifier",
                                        "src": "7274:8:7"
                                    },
                                    {
                                        "attributes": {
                                            "argumentTypes": null,
                                            "overloadedDeclarations": [
                                                null
                                            ],
                                            "referencedDeclaration": 952,
                                            "type": "string calldata",
                                            "value": "_id"
                                        },
                                        "id": 960,
                                        "name": "Identifier",
                                        "src": "7284:3:7"
                                    }
                                ],
                                "id": 961,
                                "name": "ModifierInvocation",
                                "src": "7263:25:7"
                            },
                            {
                                "children": [
                                    {
                                        "attributes": {
                                            "falseBody": null
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "argumentTypes": null,
                                                    "commonType": {
                                                        "typeIdentifier": "t_bytes32",
                                                        "typeString": "bytes32"
                                                    },
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "operator": "!=",
                                                    "type": "bool"
                                                },
                                                "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_bytes_memory_ptr",
                                                                            "typeString": "bytes memory"
                                                                        }
                                                                    ],
                                                                    "overloadedDeclarations": [
                                                                        null
                                                                    ],
                                                                    "referencedDeclaration": 3950,
                                                                    "type": "function (bytes memory) pure returns (bytes32)",
                                                                    "value": "keccak256"
                                                                },
                                                                "id": 963,
                                                                "name": "Identifier",
                                                                "src": "7403:9:7"
                                                            },
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": false,
                                                                    "isStructConstructorCall": false,
                                                                    "lValueRequested": false,
                                                                    "names": [
                                                                        null
                                                                    ],
                                                                    "type": "bytes memory",
                                                                    "type_conversion": false
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": [
                                                                                {
                                                                                    "typeIdentifier": "t_string_storage",
                                                                                    "typeString": "string storage ref"
                                                                                }
                                                                            ],
                                                                            "isConstant": false,
                                                                            "isLValue": false,
                                                                            "isPure": true,
                                                                            "lValueRequested": false,
                                                                            "member_name": "encodePacked",
                                                                            "referencedDeclaration": null,
                                                                            "type": "function () pure returns (bytes memory)"
                                                                        },
                                                                        "children": [
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "overloadedDeclarations": [
                                                                                        null
                                                                                    ],
                                                                                    "referencedDeclaration": 3943,
                                                                                    "type": "abi",
                                                                                    "value": "abi"
                                                                                },
                                                                                "id": 964,
                                                                                "name": "Identifier",
                                                                                "src": "7413:3:7"
                                                                            }
                                                                        ],
                                                                        "id": 965,
                                                                        "name": "MemberAccess",
                                                                        "src": "7413:16:7"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "isConstant": false,
                                                                            "isLValue": true,
                                                                            "isPure": false,
                                                                            "lValueRequested": false,
                                                                            "type": "string storage ref"
                                                                        },
                                                                        "children": [
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "isConstant": false,
                                                                                    "isLValue": true,
                                                                                    "isPure": false,
                                                                                    "lValueRequested": false,
                                                                                    "type": "mapping(bytes32 => string storage ref)"
                                                                                },
                                                                                "children": [
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "overloadedDeclarations": [
                                                                                                null
                                                                                            ],
                                                                                            "referencedDeclaration": 605,
                                                                                            "type": "mapping(bytes32 => mapping(bytes32 => string storage ref))",
                                                                                            "value": "shards"
                                                                                        },
                                                                                        "id": 966,
                                                                                        "name": "Identifier",
                                                                                        "src": "7430:6:7"
                                                                                    },
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "overloadedDeclarations": [
                                                                                                null
                                                                                            ],
                                                                                            "referencedDeclaration": 950,
                                                                                            "type": "bytes32",
                                                                                            "value": "_creator"
                                                                                        },
                                                                                        "id": 967,
                                                                                        "name": "Identifier",
                                                                                        "src": "7437:8:7"
                                                                                    }
                                                                                ],
                                                                                "id": 968,
                                                                                "name": "IndexAccess",
                                                                                "src": "7430:16:7"
                                                                            },
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "overloadedDeclarations": [
                                                                                        null
                                                                                    ],
                                                                                    "referencedDeclaration": 954,
                                                                                    "type": "bytes32",
                                                                                    "value": "_participant"
                                                                                },
                                                                                "id": 969,
                                                                                "name": "Identifier",
                                                                                "src": "7447:12:7"
                                                                            }
                                                                        ],
                                                                        "id": 970,
                                                                        "name": "IndexAccess",
                                                                        "src": "7430:30:7"
                                                                    }
                                                                ],
                                                                "id": 971,
                                                                "name": "FunctionCall",
                                                                "src": "7413:48:7"
                                                            }
                                                        ],
                                                        "id": 972,
                                                        "name": "FunctionCall",
                                                        "src": "7403:59:7"
                                                    },
                                                    {
                                                        "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_bytes_memory_ptr",
                                                                            "typeString": "bytes memory"
                                                                        }
                                                                    ],
                                                                    "overloadedDeclarations": [
                                                                        null
                                                                    ],
                                                                    "referencedDeclaration": 3950,
                                                                    "type": "function (bytes memory) pure returns (bytes32)",
                                                                    "value": "keccak256"
                                                                },
                                                                "id": 973,
                                                                "name": "Identifier",
                                                                "src": "7464:9:7"
                                                            },
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": false,
                                                                    "isStructConstructorCall": false,
                                                                    "lValueRequested": false,
                                                                    "names": [
                                                                        null
                                                                    ],
                                                                    "type": "bytes memory",
                                                                    "type_conversion": false
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": [
                                                                                {
                                                                                    "typeIdentifier": "t_string_calldata_ptr",
                                                                                    "typeString": "string calldata"
                                                                                }
                                                                            ],
                                                                            "isConstant": false,
                                                                            "isLValue": false,
                                                                            "isPure": true,
                                                                            "lValueRequested": false,
                                                                            "member_name": "encodePacked",
                                                                            "referencedDeclaration": null,
                                                                            "type": "function () pure returns (bytes memory)"
                                                                        },
                                                                        "children": [
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "overloadedDeclarations": [
                                                                                        null
                                                                                    ],
                                                                                    "referencedDeclaration": 3943,
                                                                                    "type": "abi",
                                                                                    "value": "abi"
                                                                                },
                                                                                "id": 974,
                                                                                "name": "Identifier",
                                                                                "src": "7474:3:7"
                                                                            }
                                                                        ],
                                                                        "id": 975,
                                                                        "name": "MemberAccess",
                                                                        "src": "7474:16:7"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 956,
                                                                            "type": "string calldata",
                                                                            "value": "_shard"
                                                                        },
                                                                        "id": 976,
                                                                        "name": "Identifier",
                                                                        "src": "7491:6:7"
                                                                    }
                                                                ],
                                                                "id": 977,
                                                                "name": "FunctionCall",
                                                                "src": "7474:24:7"
                                                            }
                                                        ],
                                                        "id": 978,
                                                        "name": "FunctionCall",
                                                        "src": "7464:35:7"
                                                    }
                                                ],
                                                "id": 979,
                                                "name": "BinaryOperation",
                                                "src": "7403:96:7"
                                            },
                                            {
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "operator": "=",
                                                            "type": "string storage ref"
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "isConstant": false,
                                                                    "isLValue": true,
                                                                    "isPure": false,
                                                                    "lValueRequested": true,
                                                                    "type": "string storage ref"
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "isConstant": false,
                                                                            "isLValue": true,
                                                                            "isPure": false,
                                                                            "lValueRequested": false,
                                                                            "type": "mapping(bytes32 => string storage ref)"
                                                                        },
                                                                        "children": [
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "overloadedDeclarations": [
                                                                                        null
                                                                                    ],
                                                                                    "referencedDeclaration": 605,
                                                                                    "type": "mapping(bytes32 => mapping(bytes32 => string storage ref))",
                                                                                    "value": "shards"
                                                                                },
                                                                                "id": 980,
                                                                                "name": "Identifier",
                                                                                "src": "7514:6:7"
                                                                            },
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "overloadedDeclarations": [
                                                                                        null
                                                                                    ],
                                                                                    "referencedDeclaration": 950,
                                                                                    "type": "bytes32",
                                                                                    "value": "_creator"
                                                                                },
                                                                                "id": 981,
                                                                                "name": "Identifier",
                                                                                "src": "7521:8:7"
                                                                            }
                                                                        ],
                                                                        "id": 983,
                                                                        "name": "IndexAccess",
                                                                        "src": "7514:16:7"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 954,
                                                                            "type": "bytes32",
                                                                            "value": "_participant"
                                                                        },
                                                                        "id": 982,
                                                                        "name": "Identifier",
                                                                        "src": "7531:12:7"
                                                                    }
                                                                ],
                                                                "id": 984,
                                                                "name": "IndexAccess",
                                                                "src": "7514:30:7"
                                                            },
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "overloadedDeclarations": [
                                                                        null
                                                                    ],
                                                                    "referencedDeclaration": 956,
                                                                    "type": "string calldata",
                                                                    "value": "_shard"
                                                                },
                                                                "id": 985,
                                                                "name": "Identifier",
                                                                "src": "7547:6:7"
                                                            }
                                                        ],
                                                        "id": 986,
                                                        "name": "Assignment",
                                                        "src": "7514:39:7"
                                                    }
                                                ],
                                                "id": 987,
                                                "name": "ExpressionStatement",
                                                "src": "7514:39:7"
                                            }
                                        ],
                                        "id": 988,
                                        "name": "IfStatement",
                                        "src": "7400:153:7"
                                    },
                                    {
                                        "attributes": {
                                            "assignments": [
                                                990
                                            ]
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "constant": false,
                                                    "name": "present",
                                                    "scope": 1051,
                                                    "stateVariable": false,
                                                    "storageLocation": "default",
                                                    "type": "bool",
                                                    "value": null,
                                                    "visibility": "internal"
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "name": "bool",
                                                            "type": "bool"
                                                        },
                                                        "id": 989,
                                                        "name": "ElementaryTypeName",
                                                        "src": "7564:4:7"
                                                    }
                                                ],
                                                "id": 990,
                                                "name": "VariableDeclaration",
                                                "src": "7564:12:7"
                                            },
                                            {
                                                "attributes": {
                                                    "argumentTypes": null,
                                                    "hexvalue": "66616c7365",
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "subdenomination": null,
                                                    "token": "bool",
                                                    "type": "bool",
                                                    "value": "false"
                                                },
                                                "id": 991,
                                                "name": "Literal",
                                                "src": "7579:5:7"
                                            }
                                        ],
                                        "id": 992,
                                        "name": "VariableDeclarationStatement",
                                        "src": "7564:20:7"
                                    },
                                    {
                                        "children": [
                                            {
                                                "attributes": {
                                                    "assignments": [
                                                        994
                                                    ]
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "constant": false,
                                                            "name": "i",
                                                            "scope": 1019,
                                                            "stateVariable": false,
                                                            "storageLocation": "default",
                                                            "type": "uint256",
                                                            "value": null,
                                                            "visibility": "internal"
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "name": "uint",
                                                                    "type": "uint256"
                                                                },
                                                                "id": 993,
                                                                "name": "ElementaryTypeName",
                                                                "src": "7599:4:7"
                                                            }
                                                        ],
                                                        "id": 994,
                                                        "name": "VariableDeclaration",
                                                        "src": "7599:6:7"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "hexvalue": "30",
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": true,
                                                            "lValueRequested": false,
                                                            "subdenomination": null,
                                                            "token": "number",
                                                            "type": "int_const 0",
                                                            "value": "0"
                                                        },
                                                        "id": 995,
                                                        "name": "Literal",
                                                        "src": "7606:1:7"
                                                    }
                                                ],
                                                "id": 996,
                                                "name": "VariableDeclarationStatement",
                                                "src": "7599:8:7"
                                            },
                                            {
                                                "attributes": {
                                                    "argumentTypes": null,
                                                    "commonType": {
                                                        "typeIdentifier": "t_uint256",
                                                        "typeString": "uint256"
                                                    },
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "operator": "<",
                                                    "type": "bool"
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "overloadedDeclarations": [
                                                                null
                                                            ],
                                                            "referencedDeclaration": 994,
                                                            "type": "uint256",
                                                            "value": "i"
                                                        },
                                                        "id": 997,
                                                        "name": "Identifier",
                                                        "src": "7609:1:7"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "isConstant": false,
                                                            "isLValue": true,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "member_name": "length",
                                                            "referencedDeclaration": null,
                                                            "type": "uint256"
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "isConstant": false,
                                                                    "isLValue": true,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "type": "bytes32[] storage ref"
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 587,
                                                                            "type": "mapping(bytes32 => bytes32[] storage ref)",
                                                                            "value": "vaults"
                                                                        },
                                                                        "id": 998,
                                                                        "name": "Identifier",
                                                                        "src": "7611:6:7"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 950,
                                                                            "type": "bytes32",
                                                                            "value": "_creator"
                                                                        },
                                                                        "id": 999,
                                                                        "name": "Identifier",
                                                                        "src": "7618:8:7"
                                                                    }
                                                                ],
                                                                "id": 1000,
                                                                "name": "IndexAccess",
                                                                "src": "7611:16:7"
                                                            }
                                                        ],
                                                        "id": 1001,
                                                        "name": "MemberAccess",
                                                        "src": "7611:23:7"
                                                    }
                                                ],
                                                "id": 1002,
                                                "name": "BinaryOperation",
                                                "src": "7609:25:7"
                                            },
                                            {
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "operator": "++",
                                                            "prefix": false,
                                                            "type": "uint256"
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "overloadedDeclarations": [
                                                                        null
                                                                    ],
                                                                    "referencedDeclaration": 994,
                                                                    "type": "uint256",
                                                                    "value": "i"
                                                                },
                                                                "id": 1003,
                                                                "name": "Identifier",
                                                                "src": "7636:1:7"
                                                            }
                                                        ],
                                                        "id": 1004,
                                                        "name": "UnaryOperation",
                                                        "src": "7636:3:7"
                                                    }
                                                ],
                                                "id": 1005,
                                                "name": "ExpressionStatement",
                                                "src": "7636:3:7"
                                            },
                                            {
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "falseBody": null
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "commonType": {
                                                                        "typeIdentifier": "t_bytes32",
                                                                        "typeString": "bytes32"
                                                                    },
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "operator": "==",
                                                                    "type": "bool"
                                                                },
                                                                "children": [
                                                                    {
                                                                        "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,
                                                                                    "type": "bytes32[] storage ref"
                                                                                },
                                                                                "children": [
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "overloadedDeclarations": [
                                                                                                null
                                                                                            ],
                                                                                            "referencedDeclaration": 587,
                                                                                            "type": "mapping(bytes32 => bytes32[] storage ref)",
                                                                                            "value": "vaults"
                                                                                        },
                                                                                        "id": 1006,
                                                                                        "name": "Identifier",
                                                                                        "src": "7658:6:7"
                                                                                    },
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "overloadedDeclarations": [
                                                                                                null
                                                                                            ],
                                                                                            "referencedDeclaration": 950,
                                                                                            "type": "bytes32",
                                                                                            "value": "_creator"
                                                                                        },
                                                                                        "id": 1007,
                                                                                        "name": "Identifier",
                                                                                        "src": "7665:8:7"
                                                                                    }
                                                                                ],
                                                                                "id": 1008,
                                                                                "name": "IndexAccess",
                                                                                "src": "7658:16:7"
                                                                            },
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "overloadedDeclarations": [
                                                                                        null
                                                                                    ],
                                                                                    "referencedDeclaration": 994,
                                                                                    "type": "uint256",
                                                                                    "value": "i"
                                                                                },
                                                                                "id": 1009,
                                                                                "name": "Identifier",
                                                                                "src": "7675:1:7"
                                                                            }
                                                                        ],
                                                                        "id": 1010,
                                                                        "name": "IndexAccess",
                                                                        "src": "7658:19:7"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 954,
                                                                            "type": "bytes32",
                                                                            "value": "_participant"
                                                                        },
                                                                        "id": 1011,
                                                                        "name": "Identifier",
                                                                        "src": "7679:12:7"
                                                                    }
                                                                ],
                                                                "id": 1012,
                                                                "name": "BinaryOperation",
                                                                "src": "7658:33:7"
                                                            },
                                                            {
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "isConstant": false,
                                                                            "isLValue": false,
                                                                            "isPure": false,
                                                                            "lValueRequested": false,
                                                                            "operator": "=",
                                                                            "type": "bool"
                                                                        },
                                                                        "children": [
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "overloadedDeclarations": [
                                                                                        null
                                                                                    ],
                                                                                    "referencedDeclaration": 990,
                                                                                    "type": "bool",
                                                                                    "value": "present"
                                                                                },
                                                                                "id": 1013,
                                                                                "name": "Identifier",
                                                                                "src": "7710:7:7"
                                                                            },
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "hexvalue": "74727565",
                                                                                    "isConstant": false,
                                                                                    "isLValue": false,
                                                                                    "isPure": true,
                                                                                    "lValueRequested": false,
                                                                                    "subdenomination": null,
                                                                                    "token": "bool",
                                                                                    "type": "bool",
                                                                                    "value": "true"
                                                                                },
                                                                                "id": 1014,
                                                                                "name": "Literal",
                                                                                "src": "7720:4:7"
                                                                            }
                                                                        ],
                                                                        "id": 1015,
                                                                        "name": "Assignment",
                                                                        "src": "7710:14:7"
                                                                    }
                                                                ],
                                                                "id": 1016,
                                                                "name": "ExpressionStatement",
                                                                "src": "7710:14:7"
                                                            }
                                                        ],
                                                        "id": 1017,
                                                        "name": "IfStatement",
                                                        "src": "7655:69:7"
                                                    }
                                                ],
                                                "id": 1018,
                                                "name": "Block",
                                                "src": "7640:96:7"
                                            }
                                        ],
                                        "id": 1019,
                                        "name": "ForStatement",
                                        "src": "7595:141:7"
                                    },
                                    {
                                        "attributes": {
                                            "falseBody": null
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "argumentTypes": null,
                                                    "commonType": {
                                                        "typeIdentifier": "t_bool",
                                                        "typeString": "bool"
                                                    },
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "operator": "&&",
                                                    "type": "bool"
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "commonType": {
                                                                "typeIdentifier": "t_bytes32",
                                                                "typeString": "bytes32"
                                                            },
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "operator": "!=",
                                                            "type": "bool"
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "overloadedDeclarations": [
                                                                        null
                                                                    ],
                                                                    "referencedDeclaration": 950,
                                                                    "type": "bytes32",
                                                                    "value": "_creator"
                                                                },
                                                                "id": 1020,
                                                                "name": "Identifier",
                                                                "src": "7749:8:7"
                                                            },
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "overloadedDeclarations": [
                                                                        null
                                                                    ],
                                                                    "referencedDeclaration": 954,
                                                                    "type": "bytes32",
                                                                    "value": "_participant"
                                                                },
                                                                "id": 1021,
                                                                "name": "Identifier",
                                                                "src": "7759:12:7"
                                                            }
                                                        ],
                                                        "id": 1022,
                                                        "name": "BinaryOperation",
                                                        "src": "7749:22:7"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "operator": "!",
                                                            "prefix": true,
                                                            "type": "bool"
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "overloadedDeclarations": [
                                                                        null
                                                                    ],
                                                                    "referencedDeclaration": 990,
                                                                    "type": "bool",
                                                                    "value": "present"
                                                                },
                                                                "id": 1023,
                                                                "name": "Identifier",
                                                                "src": "7776:7:7"
                                                            }
                                                        ],
                                                        "id": 1024,
                                                        "name": "UnaryOperation",
                                                        "src": "7775:8:7"
                                                    }
                                                ],
                                                "id": 1025,
                                                "name": "BinaryOperation",
                                                "src": "7749:34:7"
                                            },
                                            {
                                                "children": [
                                                    {
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "operator": "=",
                                                                    "type": "uint256"
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "isConstant": false,
                                                                            "isLValue": true,
                                                                            "isPure": false,
                                                                            "lValueRequested": true,
                                                                            "type": "uint256"
                                                                        },
                                                                        "children": [
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "isConstant": false,
                                                                                    "isLValue": true,
                                                                                    "isPure": false,
                                                                                    "lValueRequested": false,
                                                                                    "type": "mapping(bytes32 => uint256)"
                                                                                },
                                                                                "children": [
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "overloadedDeclarations": [
                                                                                                null
                                                                                            ],
                                                                                            "referencedDeclaration": 593,
                                                                                            "type": "mapping(bytes32 => mapping(bytes32 => uint256))",
                                                                                            "value": "cosigners"
                                                                                        },
                                                                                        "id": 1026,
                                                                                        "name": "Identifier",
                                                                                        "src": "7799:9:7"
                                                                                    },
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "overloadedDeclarations": [
                                                                                                null
                                                                                            ],
                                                                                            "referencedDeclaration": 950,
                                                                                            "type": "bytes32",
                                                                                            "value": "_creator"
                                                                                        },
                                                                                        "id": 1027,
                                                                                        "name": "Identifier",
                                                                                        "src": "7809:8:7"
                                                                                    }
                                                                                ],
                                                                                "id": 1029,
                                                                                "name": "IndexAccess",
                                                                                "src": "7799:19:7"
                                                                            },
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "overloadedDeclarations": [
                                                                                        null
                                                                                    ],
                                                                                    "referencedDeclaration": 954,
                                                                                    "type": "bytes32",
                                                                                    "value": "_participant"
                                                                                },
                                                                                "id": 1028,
                                                                                "name": "Identifier",
                                                                                "src": "7819:12:7"
                                                                            }
                                                                        ],
                                                                        "id": 1030,
                                                                        "name": "IndexAccess",
                                                                        "src": "7799:33:7"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "isConstant": false,
                                                                            "isLValue": true,
                                                                            "isPure": false,
                                                                            "lValueRequested": false,
                                                                            "member_name": "length",
                                                                            "referencedDeclaration": null,
                                                                            "type": "uint256"
                                                                        },
                                                                        "children": [
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "isConstant": false,
                                                                                    "isLValue": true,
                                                                                    "isPure": false,
                                                                                    "lValueRequested": false,
                                                                                    "type": "bytes32[] storage ref"
                                                                                },
                                                                                "children": [
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "overloadedDeclarations": [
                                                                                                null
                                                                                            ],
                                                                                            "referencedDeclaration": 587,
                                                                                            "type": "mapping(bytes32 => bytes32[] storage ref)",
                                                                                            "value": "vaults"
                                                                                        },
                                                                                        "id": 1031,
                                                                                        "name": "Identifier",
                                                                                        "src": "7835:6:7"
                                                                                    },
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "overloadedDeclarations": [
                                                                                                null
                                                                                            ],
                                                                                            "referencedDeclaration": 950,
                                                                                            "type": "bytes32",
                                                                                            "value": "_creator"
                                                                                        },
                                                                                        "id": 1032,
                                                                                        "name": "Identifier",
                                                                                        "src": "7842:8:7"
                                                                                    }
                                                                                ],
                                                                                "id": 1033,
                                                                                "name": "IndexAccess",
                                                                                "src": "7835:16:7"
                                                                            }
                                                                        ],
                                                                        "id": 1034,
                                                                        "name": "MemberAccess",
                                                                        "src": "7835:23:7"
                                                                    }
                                                                ],
                                                                "id": 1035,
                                                                "name": "Assignment",
                                                                "src": "7799:59:7"
                                                            }
                                                        ],
                                                        "id": 1036,
                                                        "name": "ExpressionStatement",
                                                        "src": "7799:59:7"
                                                    },
                                                    {
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": false,
                                                                    "isStructConstructorCall": false,
                                                                    "lValueRequested": false,
                                                                    "names": [
                                                                        null
                                                                    ],
                                                                    "type": "uint256",
                                                                    "type_conversion": false
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": [
                                                                                {
                                                                                    "typeIdentifier": "t_bytes32",
                                                                                    "typeString": "bytes32"
                                                                                }
                                                                            ],
                                                                            "isConstant": false,
                                                                            "isLValue": false,
                                                                            "isPure": false,
                                                                            "lValueRequested": false,
                                                                            "member_name": "push",
                                                                            "referencedDeclaration": null,
                                                                            "type": "function (bytes32) returns (uint256)"
                                                                        },
                                                                        "children": [
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "isConstant": false,
                                                                                    "isLValue": true,
                                                                                    "isPure": false,
                                                                                    "lValueRequested": false,
                                                                                    "type": "bytes32[] storage ref"
                                                                                },
                                                                                "children": [
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "overloadedDeclarations": [
                                                                                                null
                                                                                            ],
                                                                                            "referencedDeclaration": 587,
                                                                                            "type": "mapping(bytes32 => bytes32[] storage ref)",
                                                                                            "value": "vaults"
                                                                                        },
                                                                                        "id": 1037,
                                                                                        "name": "Identifier",
                                                                                        "src": "7873:6:7"
                                                                                    },
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "overloadedDeclarations": [
                                                                                                null
                                                                                            ],
                                                                                            "referencedDeclaration": 950,
                                                                                            "type": "bytes32",
                                                                                            "value": "_creator"
                                                                                        },
                                                                                        "id": 1038,
                                                                                        "name": "Identifier",
                                                                                        "src": "7880:8:7"
                                                                                    }
                                                                                ],
                                                                                "id": 1039,
                                                                                "name": "IndexAccess",
                                                                                "src": "7873:16:7"
                                                                            }
                                                                        ],
                                                                        "id": 1040,
                                                                        "name": "MemberAccess",
                                                                        "src": "7873:21:7"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 954,
                                                                            "type": "bytes32",
                                                                            "value": "_participant"
                                                                        },
                                                                        "id": 1041,
                                                                        "name": "Identifier",
                                                                        "src": "7895:12:7"
                                                                    }
                                                                ],
                                                                "id": 1042,
                                                                "name": "FunctionCall",
                                                                "src": "7873:35:7"
                                                            }
                                                        ],
                                                        "id": 1043,
                                                        "name": "ExpressionStatement",
                                                        "src": "7873:35:7"
                                                    },
                                                    {
                                                        "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_bytes32",
                                                                                    "typeString": "bytes32"
                                                                                },
                                                                                {
                                                                                    "typeIdentifier": "t_bytes32",
                                                                                    "typeString": "bytes32"
                                                                                }
                                                                            ],
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 620,
                                                                            "type": "function (bytes32,bytes32)",
                                                                            "value": "NewParticipant"
                                                                        },
                                                                        "id": 1044,
                                                                        "name": "Identifier",
                                                                        "src": "7929:14:7"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 950,
                                                                            "type": "bytes32",
                                                                            "value": "_creator"
                                                                        },
                                                                        "id": 1045,
                                                                        "name": "Identifier",
                                                                        "src": "7944:8:7"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 954,
                                                                            "type": "bytes32",
                                                                            "value": "_participant"
                                                                        },
                                                                        "id": 1046,
                                                                        "name": "Identifier",
                                                                        "src": "7954:12:7"
                                                                    }
                                                                ],
                                                                "id": 1047,
                                                                "name": "FunctionCall",
                                                                "src": "7929:38:7"
                                                            }
                                                        ],
                                                        "id": 1048,
                                                        "name": "EmitStatement",
                                                        "src": "7924:43:7"
                                                    }
                                                ],
                                                "id": 1049,
                                                "name": "Block",
                                                "src": "7784:195:7"
                                            }
                                        ],
                                        "id": 1050,
                                        "name": "IfStatement",
                                        "src": "7746:233:7"
                                    }
                                ],
                                "id": 1051,
                                "name": "Block",
                                "src": "7298:688:7"
                            }
                        ],
                        "id": 1052,
                        "name": "FunctionDefinition",
                        "src": "7154:832:7"
                    },
                    {
                        "attributes": {
                            "documentation": "This function removes a participant in a vault that belongs to its creator\r\n@param _creator vault creator's username, eg creator@email.com\r\n@param _id vault creator's unique id using which it can be reached, eg, its Google/APNS token\r\n@param _participant vault participant's username, eg participant@email.com\r",
                            "implemented": true,
                            "isConstructor": false,
                            "kind": "function",
                            "name": "removeParticipant",
                            "scope": 1949,
                            "stateMutability": "nonpayable",
                            "superFunction": 412,
                            "visibility": "external"
                        },
                        "children": [
                            {
                                "children": [
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "_creator",
                                            "scope": 1100,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "bytes32",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "bytes32",
                                                    "type": "bytes32"
                                                },
                                                "id": 1053,
                                                "name": "ElementaryTypeName",
                                                "src": "8382:7:7"
                                            }
                                        ],
                                        "id": 1054,
                                        "name": "VariableDeclaration",
                                        "src": "8382:16:7"
                                    },
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "_id",
                                            "scope": 1100,
                                            "stateVariable": false,
                                            "storageLocation": "calldata",
                                            "type": "string",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "string",
                                                    "type": "string"
                                                },
                                                "id": 1055,
                                                "name": "ElementaryTypeName",
                                                "src": "8400:6:7"
                                            }
                                        ],
                                        "id": 1056,
                                        "name": "VariableDeclaration",
                                        "src": "8400:19:7"
                                    },
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "_participant",
                                            "scope": 1100,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "bytes32",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "bytes32",
                                                    "type": "bytes32"
                                                },
                                                "id": 1057,
                                                "name": "ElementaryTypeName",
                                                "src": "8421:7:7"
                                            }
                                        ],
                                        "id": 1058,
                                        "name": "VariableDeclaration",
                                        "src": "8421:20:7"
                                    }
                                ],
                                "id": 1059,
                                "name": "ParameterList",
                                "src": "8381:61:7"
                            },
                            {
                                "attributes": {
                                    "parameters": [
                                        null
                                    ]
                                },
                                "children": [],
                                "id": 1064,
                                "name": "ParameterList",
                                "src": "8478:0:7"
                            },
                            {
                                "children": [
                                    {
                                        "attributes": {
                                            "argumentTypes": null,
                                            "overloadedDeclarations": [
                                                null
                                            ],
                                            "referencedDeclaration": 695,
                                            "type": "modifier (bytes32,string memory)",
                                            "value": "onlySigner"
                                        },
                                        "id": 1060,
                                        "name": "Identifier",
                                        "src": "8443:10:7"
                                    },
                                    {
                                        "attributes": {
                                            "argumentTypes": null,
                                            "overloadedDeclarations": [
                                                null
                                            ],
                                            "referencedDeclaration": 1054,
                                            "type": "bytes32",
                                            "value": "_creator"
                                        },
                                        "id": 1061,
                                        "name": "Identifier",
                                        "src": "8454:8:7"
                                    },
                                    {
                                        "attributes": {
                                            "argumentTypes": null,
                                            "overloadedDeclarations": [
                                                null
                                            ],
                                            "referencedDeclaration": 1056,
                                            "type": "string calldata",
                                            "value": "_id"
                                        },
                                        "id": 1062,
                                        "name": "Identifier",
                                        "src": "8464:3:7"
                                    }
                                ],
                                "id": 1063,
                                "name": "ModifierInvocation",
                                "src": "8443:25:7"
                            },
                            {
                                "children": [
                                    {
                                        "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,
                                                            "type": "uint256"
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "isConstant": false,
                                                                    "isLValue": true,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "type": "mapping(bytes32 => uint256)"
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 593,
                                                                            "type": "mapping(bytes32 => mapping(bytes32 => uint256))",
                                                                            "value": "cosigners"
                                                                        },
                                                                        "id": 1065,
                                                                        "name": "Identifier",
                                                                        "src": "8492:9:7"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 1054,
                                                                            "type": "bytes32",
                                                                            "value": "_creator"
                                                                        },
                                                                        "id": 1066,
                                                                        "name": "Identifier",
                                                                        "src": "8502:8:7"
                                                                    }
                                                                ],
                                                                "id": 1067,
                                                                "name": "IndexAccess",
                                                                "src": "8492:19:7"
                                                            },
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "overloadedDeclarations": [
                                                                        null
                                                                    ],
                                                                    "referencedDeclaration": 1058,
                                                                    "type": "bytes32",
                                                                    "value": "_participant"
                                                                },
                                                                "id": 1068,
                                                                "name": "Identifier",
                                                                "src": "8512:12:7"
                                                            }
                                                        ],
                                                        "id": 1069,
                                                        "name": "IndexAccess",
                                                        "src": "8492:33:7"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "hexvalue": "30",
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": true,
                                                            "lValueRequested": false,
                                                            "subdenomination": null,
                                                            "token": "number",
                                                            "type": "int_const 0",
                                                            "value": "0"
                                                        },
                                                        "id": 1070,
                                                        "name": "Literal",
                                                        "src": "8528:1:7"
                                                    }
                                                ],
                                                "id": 1071,
                                                "name": "BinaryOperation",
                                                "src": "8492:37:7"
                                            },
                                            {
                                                "children": [
                                                    {
                                                        "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": "bytes32"
                                                                        },
                                                                        "children": [
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "isConstant": false,
                                                                                    "isLValue": true,
                                                                                    "isPure": false,
                                                                                    "lValueRequested": false,
                                                                                    "type": "bytes32[] storage ref"
                                                                                },
                                                                                "children": [
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "overloadedDeclarations": [
                                                                                                null
                                                                                            ],
                                                                                            "referencedDeclaration": 587,
                                                                                            "type": "mapping(bytes32 => bytes32[] storage ref)",
                                                                                            "value": "vaults"
                                                                                        },
                                                                                        "id": 1072,
                                                                                        "name": "Identifier",
                                                                                        "src": "8552:6:7"
                                                                                    },
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "overloadedDeclarations": [
                                                                                                null
                                                                                            ],
                                                                                            "referencedDeclaration": 1054,
                                                                                            "type": "bytes32",
                                                                                            "value": "_creator"
                                                                                        },
                                                                                        "id": 1073,
                                                                                        "name": "Identifier",
                                                                                        "src": "8559:8:7"
                                                                                    }
                                                                                ],
                                                                                "id": 1074,
                                                                                "name": "IndexAccess",
                                                                                "src": "8552:16:7"
                                                                            },
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "isConstant": false,
                                                                                    "isLValue": true,
                                                                                    "isPure": false,
                                                                                    "lValueRequested": false,
                                                                                    "type": "uint256"
                                                                                },
                                                                                "children": [
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "isConstant": false,
                                                                                            "isLValue": true,
                                                                                            "isPure": false,
                                                                                            "lValueRequested": false,
                                                                                            "type": "mapping(bytes32 => uint256)"
                                                                                        },
                                                                                        "children": [
                                                                                            {
                                                                                                "attributes": {
                                                                                                    "argumentTypes": null,
                                                                                                    "overloadedDeclarations": [
                                                                                                        null
                                                                                                    ],
                                                                                                    "referencedDeclaration": 593,
                                                                                                    "type": "mapping(bytes32 => mapping(bytes32 => uint256))",
                                                                                                    "value": "cosigners"
                                                                                                },
                                                                                                "id": 1075,
                                                                                                "name": "Identifier",
                                                                                                "src": "8569:9:7"
                                                                                            },
                                                                                            {
                                                                                                "attributes": {
                                                                                                    "argumentTypes": null,
                                                                                                    "overloadedDeclarations": [
                                                                                                        null
                                                                                                    ],
                                                                                                    "referencedDeclaration": 1054,
                                                                                                    "type": "bytes32",
                                                                                                    "value": "_creator"
                                                                                                },
                                                                                                "id": 1076,
                                                                                                "name": "Identifier",
                                                                                                "src": "8579:8:7"
                                                                                            }
                                                                                        ],
                                                                                        "id": 1077,
                                                                                        "name": "IndexAccess",
                                                                                        "src": "8569:19:7"
                                                                                    },
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "overloadedDeclarations": [
                                                                                                null
                                                                                            ],
                                                                                            "referencedDeclaration": 1058,
                                                                                            "type": "bytes32",
                                                                                            "value": "_participant"
                                                                                        },
                                                                                        "id": 1078,
                                                                                        "name": "Identifier",
                                                                                        "src": "8589:12:7"
                                                                                    }
                                                                                ],
                                                                                "id": 1079,
                                                                                "name": "IndexAccess",
                                                                                "src": "8569:33:7"
                                                                            }
                                                                        ],
                                                                        "id": 1080,
                                                                        "name": "IndexAccess",
                                                                        "src": "8552:51:7"
                                                                    }
                                                                ],
                                                                "id": 1081,
                                                                "name": "UnaryOperation",
                                                                "src": "8545:58:7"
                                                            }
                                                        ],
                                                        "id": 1082,
                                                        "name": "ExpressionStatement",
                                                        "src": "8545:58:7"
                                                    },
                                                    {
                                                        "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": "string storage ref"
                                                                        },
                                                                        "children": [
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "isConstant": false,
                                                                                    "isLValue": true,
                                                                                    "isPure": false,
                                                                                    "lValueRequested": false,
                                                                                    "type": "mapping(bytes32 => string storage ref)"
                                                                                },
                                                                                "children": [
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "overloadedDeclarations": [
                                                                                                null
                                                                                            ],
                                                                                            "referencedDeclaration": 605,
                                                                                            "type": "mapping(bytes32 => mapping(bytes32 => string storage ref))",
                                                                                            "value": "shards"
                                                                                        },
                                                                                        "id": 1083,
                                                                                        "name": "Identifier",
                                                                                        "src": "8625:6:7"
                                                                                    },
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "overloadedDeclarations": [
                                                                                                null
                                                                                            ],
                                                                                            "referencedDeclaration": 1054,
                                                                                            "type": "bytes32",
                                                                                            "value": "_creator"
                                                                                        },
                                                                                        "id": 1084,
                                                                                        "name": "Identifier",
                                                                                        "src": "8632:8:7"
                                                                                    }
                                                                                ],
                                                                                "id": 1085,
                                                                                "name": "IndexAccess",
                                                                                "src": "8625:16:7"
                                                                            },
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "overloadedDeclarations": [
                                                                                        null
                                                                                    ],
                                                                                    "referencedDeclaration": 1058,
                                                                                    "type": "bytes32",
                                                                                    "value": "_participant"
                                                                                },
                                                                                "id": 1086,
                                                                                "name": "Identifier",
                                                                                "src": "8642:12:7"
                                                                            }
                                                                        ],
                                                                        "id": 1087,
                                                                        "name": "IndexAccess",
                                                                        "src": "8625:30:7"
                                                                    }
                                                                ],
                                                                "id": 1088,
                                                                "name": "UnaryOperation",
                                                                "src": "8618:37:7"
                                                            }
                                                        ],
                                                        "id": 1089,
                                                        "name": "ExpressionStatement",
                                                        "src": "8618:37:7"
                                                    },
                                                    {
                                                        "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": "string storage ref"
                                                                        },
                                                                        "children": [
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "isConstant": false,
                                                                                    "isLValue": true,
                                                                                    "isPure": false,
                                                                                    "lValueRequested": false,
                                                                                    "type": "mapping(bytes32 => string storage ref)"
                                                                                },
                                                                                "children": [
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "overloadedDeclarations": [
                                                                                                null
                                                                                            ],
                                                                                            "referencedDeclaration": 599,
                                                                                            "type": "mapping(bytes32 => mapping(bytes32 => string storage ref))",
                                                                                            "value": "pins"
                                                                                        },
                                                                                        "id": 1090,
                                                                                        "name": "Identifier",
                                                                                        "src": "8677:4:7"
                                                                                    },
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "overloadedDeclarations": [
                                                                                                null
                                                                                            ],
                                                                                            "referencedDeclaration": 1054,
                                                                                            "type": "bytes32",
                                                                                            "value": "_creator"
                                                                                        },
                                                                                        "id": 1091,
                                                                                        "name": "Identifier",
                                                                                        "src": "8682:8:7"
                                                                                    }
                                                                                ],
                                                                                "id": 1092,
                                                                                "name": "IndexAccess",
                                                                                "src": "8677:14:7"
                                                                            },
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "overloadedDeclarations": [
                                                                                        null
                                                                                    ],
                                                                                    "referencedDeclaration": 1058,
                                                                                    "type": "bytes32",
                                                                                    "value": "_participant"
                                                                                },
                                                                                "id": 1093,
                                                                                "name": "Identifier",
                                                                                "src": "8692:12:7"
                                                                            }
                                                                        ],
                                                                        "id": 1094,
                                                                        "name": "IndexAccess",
                                                                        "src": "8677:28:7"
                                                                    }
                                                                ],
                                                                "id": 1095,
                                                                "name": "UnaryOperation",
                                                                "src": "8670:35:7"
                                                            }
                                                        ],
                                                        "id": 1096,
                                                        "name": "ExpressionStatement",
                                                        "src": "8670:35:7"
                                                    }
                                                ],
                                                "id": 1097,
                                                "name": "Block",
                                                "src": "8530:187:7"
                                            }
                                        ],
                                        "id": 1098,
                                        "name": "IfStatement",
                                        "src": "8489:228:7"
                                    }
                                ],
                                "id": 1099,
                                "name": "Block",
                                "src": "8478:246:7"
                            }
                        ],
                        "id": 1100,
                        "name": "FunctionDefinition",
                        "src": "8355:369:7"
                    },
                    {
                        "attributes": {
                            "documentation": "This function confirms a participant in the vault when the participant sends its private key shard and PIN\r\n@param _creator the vault's creator (eg, creator@email.com)\r\n@param _id vault creator's unique id using which it can be reached, eg, its Google/APNS token\r\n@param _participant the vault's participant (eg, participant@email.com)\r\n@param _pin the PIN number of the participant\r\n@param _confirmation true or false\r",
                            "implemented": true,
                            "isConstructor": false,
                            "kind": "function",
                            "name": "confirmParticipant",
                            "scope": 1949,
                            "stateMutability": "nonpayable",
                            "superFunction": 425,
                            "visibility": "external"
                        },
                        "children": [
                            {
                                "children": [
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "_creator",
                                            "scope": 1150,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "bytes32",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "bytes32",
                                                    "type": "bytes32"
                                                },
                                                "id": 1101,
                                                "name": "ElementaryTypeName",
                                                "src": "9247:7:7"
                                            }
                                        ],
                                        "id": 1102,
                                        "name": "VariableDeclaration",
                                        "src": "9247:16:7"
                                    },
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "_id",
                                            "scope": 1150,
                                            "stateVariable": false,
                                            "storageLocation": "calldata",
                                            "type": "string",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "string",
                                                    "type": "string"
                                                },
                                                "id": 1103,
                                                "name": "ElementaryTypeName",
                                                "src": "9265:6:7"
                                            }
                                        ],
                                        "id": 1104,
                                        "name": "VariableDeclaration",
                                        "src": "9265:19:7"
                                    },
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "_participant",
                                            "scope": 1150,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "bytes32",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "bytes32",
                                                    "type": "bytes32"
                                                },
                                                "id": 1105,
                                                "name": "ElementaryTypeName",
                                                "src": "9286:7:7"
                                            }
                                        ],
                                        "id": 1106,
                                        "name": "VariableDeclaration",
                                        "src": "9286:20:7"
                                    },
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "_pin",
                                            "scope": 1150,
                                            "stateVariable": false,
                                            "storageLocation": "calldata",
                                            "type": "string",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "string",
                                                    "type": "string"
                                                },
                                                "id": 1107,
                                                "name": "ElementaryTypeName",
                                                "src": "9308:6:7"
                                            }
                                        ],
                                        "id": 1108,
                                        "name": "VariableDeclaration",
                                        "src": "9308:20:7"
                                    },
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "_confirmation",
                                            "scope": 1150,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "bool",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "bool",
                                                    "type": "bool"
                                                },
                                                "id": 1109,
                                                "name": "ElementaryTypeName",
                                                "src": "9330:4:7"
                                            }
                                        ],
                                        "id": 1110,
                                        "name": "VariableDeclaration",
                                        "src": "9330:18:7"
                                    }
                                ],
                                "id": 1111,
                                "name": "ParameterList",
                                "src": "9246:103:7"
                            },
                            {
                                "attributes": {
                                    "parameters": [
                                        null
                                    ]
                                },
                                "children": [],
                                "id": 1116,
                                "name": "ParameterList",
                                "src": "9389:0:7"
                            },
                            {
                                "children": [
                                    {
                                        "attributes": {
                                            "argumentTypes": null,
                                            "overloadedDeclarations": [
                                                null
                                            ],
                                            "referencedDeclaration": 695,
                                            "type": "modifier (bytes32,string memory)",
                                            "value": "onlySigner"
                                        },
                                        "id": 1112,
                                        "name": "Identifier",
                                        "src": "9350:10:7"
                                    },
                                    {
                                        "attributes": {
                                            "argumentTypes": null,
                                            "overloadedDeclarations": [
                                                null
                                            ],
                                            "referencedDeclaration": 1106,
                                            "type": "bytes32",
                                            "value": "_participant"
                                        },
                                        "id": 1113,
                                        "name": "Identifier",
                                        "src": "9361:12:7"
                                    },
                                    {
                                        "attributes": {
                                            "argumentTypes": null,
                                            "overloadedDeclarations": [
                                                null
                                            ],
                                            "referencedDeclaration": 1104,
                                            "type": "string calldata",
                                            "value": "_id"
                                        },
                                        "id": 1114,
                                        "name": "Identifier",
                                        "src": "9375:3:7"
                                    }
                                ],
                                "id": 1115,
                                "name": "ModifierInvocation",
                                "src": "9350:29:7"
                            },
                            {
                                "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": [
                                                                3959,
                                                                3960
                                                            ],
                                                            "referencedDeclaration": 3959,
                                                            "type": "function (bool) pure",
                                                            "value": "require"
                                                        },
                                                        "id": 1117,
                                                        "name": "Identifier",
                                                        "src": "9400:7:7"
                                                    },
                                                    {
                                                        "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": "length",
                                                                    "referencedDeclaration": null,
                                                                    "type": "uint256"
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "isConstant": false,
                                                                            "isLValue": true,
                                                                            "isPure": false,
                                                                            "lValueRequested": false,
                                                                            "type": "bytes32[] storage ref"
                                                                        },
                                                                        "children": [
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "overloadedDeclarations": [
                                                                                        null
                                                                                    ],
                                                                                    "referencedDeclaration": 587,
                                                                                    "type": "mapping(bytes32 => bytes32[] storage ref)",
                                                                                    "value": "vaults"
                                                                                },
                                                                                "id": 1118,
                                                                                "name": "Identifier",
                                                                                "src": "9408:6:7"
                                                                            },
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "overloadedDeclarations": [
                                                                                        null
                                                                                    ],
                                                                                    "referencedDeclaration": 1102,
                                                                                    "type": "bytes32",
                                                                                    "value": "_creator"
                                                                                },
                                                                                "id": 1119,
                                                                                "name": "Identifier",
                                                                                "src": "9415:8:7"
                                                                            }
                                                                        ],
                                                                        "id": 1120,
                                                                        "name": "IndexAccess",
                                                                        "src": "9408:16:7"
                                                                    }
                                                                ],
                                                                "id": 1121,
                                                                "name": "MemberAccess",
                                                                "src": "9408:23:7"
                                                            },
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "hexvalue": "30",
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": true,
                                                                    "lValueRequested": false,
                                                                    "subdenomination": null,
                                                                    "token": "number",
                                                                    "type": "int_const 0",
                                                                    "value": "0"
                                                                },
                                                                "id": 1122,
                                                                "name": "Literal",
                                                                "src": "9432:1:7"
                                                            }
                                                        ],
                                                        "id": 1123,
                                                        "name": "BinaryOperation",
                                                        "src": "9408:25:7"
                                                    }
                                                ],
                                                "id": 1124,
                                                "name": "FunctionCall",
                                                "src": "9400:34:7"
                                            }
                                        ],
                                        "id": 1125,
                                        "name": "ExpressionStatement",
                                        "src": "9400:34:7"
                                    },
                                    {
                                        "children": [
                                            {
                                                "attributes": {
                                                    "argumentTypes": null,
                                                    "overloadedDeclarations": [
                                                        null
                                                    ],
                                                    "referencedDeclaration": 1110,
                                                    "type": "bool",
                                                    "value": "_confirmation"
                                                },
                                                "id": 1126,
                                                "name": "Identifier",
                                                "src": "9448:13:7"
                                            },
                                            {
                                                "children": [
                                                    {
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "operator": "=",
                                                                    "type": "string storage ref"
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "isConstant": false,
                                                                            "isLValue": true,
                                                                            "isPure": false,
                                                                            "lValueRequested": true,
                                                                            "type": "string storage ref"
                                                                        },
                                                                        "children": [
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "isConstant": false,
                                                                                    "isLValue": true,
                                                                                    "isPure": false,
                                                                                    "lValueRequested": false,
                                                                                    "type": "mapping(bytes32 => string storage ref)"
                                                                                },
                                                                                "children": [
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "overloadedDeclarations": [
                                                                                                null
                                                                                            ],
                                                                                            "referencedDeclaration": 599,
                                                                                            "type": "mapping(bytes32 => mapping(bytes32 => string storage ref))",
                                                                                            "value": "pins"
                                                                                        },
                                                                                        "id": 1127,
                                                                                        "name": "Identifier",
                                                                                        "src": "9477:4:7"
                                                                                    },
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "overloadedDeclarations": [
                                                                                                null
                                                                                            ],
                                                                                            "referencedDeclaration": 1102,
                                                                                            "type": "bytes32",
                                                                                            "value": "_creator"
                                                                                        },
                                                                                        "id": 1128,
                                                                                        "name": "Identifier",
                                                                                        "src": "9482:8:7"
                                                                                    }
                                                                                ],
                                                                                "id": 1130,
                                                                                "name": "IndexAccess",
                                                                                "src": "9477:14:7"
                                                                            },
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "overloadedDeclarations": [
                                                                                        null
                                                                                    ],
                                                                                    "referencedDeclaration": 1106,
                                                                                    "type": "bytes32",
                                                                                    "value": "_participant"
                                                                                },
                                                                                "id": 1129,
                                                                                "name": "Identifier",
                                                                                "src": "9492:12:7"
                                                                            }
                                                                        ],
                                                                        "id": 1131,
                                                                        "name": "IndexAccess",
                                                                        "src": "9477:28:7"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 1108,
                                                                            "type": "string calldata",
                                                                            "value": "_pin"
                                                                        },
                                                                        "id": 1132,
                                                                        "name": "Identifier",
                                                                        "src": "9508:4:7"
                                                                    }
                                                                ],
                                                                "id": 1133,
                                                                "name": "Assignment",
                                                                "src": "9477:35:7"
                                                            }
                                                        ],
                                                        "id": 1134,
                                                        "name": "ExpressionStatement",
                                                        "src": "9477:35:7"
                                                    },
                                                    {
                                                        "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_bytes32",
                                                                                    "typeString": "bytes32"
                                                                                },
                                                                                {
                                                                                    "typeIdentifier": "t_bytes32",
                                                                                    "typeString": "bytes32"
                                                                                },
                                                                                {
                                                                                    "typeIdentifier": "t_bool",
                                                                                    "typeString": "bool"
                                                                                }
                                                                            ],
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 644,
                                                                            "type": "function (bytes32,bytes32,bool)",
                                                                            "value": "SignResponse"
                                                                        },
                                                                        "id": 1135,
                                                                        "name": "Identifier",
                                                                        "src": "9532:12:7"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 1102,
                                                                            "type": "bytes32",
                                                                            "value": "_creator"
                                                                        },
                                                                        "id": 1136,
                                                                        "name": "Identifier",
                                                                        "src": "9545:8:7"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 1106,
                                                                            "type": "bytes32",
                                                                            "value": "_participant"
                                                                        },
                                                                        "id": 1137,
                                                                        "name": "Identifier",
                                                                        "src": "9555:12:7"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "hexvalue": "74727565",
                                                                            "isConstant": false,
                                                                            "isLValue": false,
                                                                            "isPure": true,
                                                                            "lValueRequested": false,
                                                                            "subdenomination": null,
                                                                            "token": "bool",
                                                                            "type": "bool",
                                                                            "value": "true"
                                                                        },
                                                                        "id": 1138,
                                                                        "name": "Literal",
                                                                        "src": "9569:4:7"
                                                                    }
                                                                ],
                                                                "id": 1139,
                                                                "name": "FunctionCall",
                                                                "src": "9532:42:7"
                                                            }
                                                        ],
                                                        "id": 1140,
                                                        "name": "EmitStatement",
                                                        "src": "9527:47:7"
                                                    }
                                                ],
                                                "id": 1141,
                                                "name": "Block",
                                                "src": "9462:124:7"
                                            },
                                            {
                                                "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_bytes32",
                                                                            "typeString": "bytes32"
                                                                        },
                                                                        {
                                                                            "typeIdentifier": "t_bytes32",
                                                                            "typeString": "bytes32"
                                                                        },
                                                                        {
                                                                            "typeIdentifier": "t_bool",
                                                                            "typeString": "bool"
                                                                        }
                                                                    ],
                                                                    "overloadedDeclarations": [
                                                                        null
                                                                    ],
                                                                    "referencedDeclaration": 644,
                                                                    "type": "function (bytes32,bytes32,bool)",
                                                                    "value": "SignResponse"
                                                                },
                                                                "id": 1142,
                                                                "name": "Identifier",
                                                                "src": "9618:12:7"
                                                            },
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "overloadedDeclarations": [
                                                                        null
                                                                    ],
                                                                    "referencedDeclaration": 1102,
                                                                    "type": "bytes32",
                                                                    "value": "_creator"
                                                                },
                                                                "id": 1143,
                                                                "name": "Identifier",
                                                                "src": "9631:8:7"
                                                            },
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "overloadedDeclarations": [
                                                                        null
                                                                    ],
                                                                    "referencedDeclaration": 1106,
                                                                    "type": "bytes32",
                                                                    "value": "_participant"
                                                                },
                                                                "id": 1144,
                                                                "name": "Identifier",
                                                                "src": "9641:12:7"
                                                            },
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "hexvalue": "66616c7365",
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": true,
                                                                    "lValueRequested": false,
                                                                    "subdenomination": null,
                                                                    "token": "bool",
                                                                    "type": "bool",
                                                                    "value": "false"
                                                                },
                                                                "id": 1145,
                                                                "name": "Literal",
                                                                "src": "9655:5:7"
                                                            }
                                                        ],
                                                        "id": 1146,
                                                        "name": "FunctionCall",
                                                        "src": "9618:43:7"
                                                    }
                                                ],
                                                "id": 1147,
                                                "name": "EmitStatement",
                                                "src": "9613:48:7"
                                            }
                                        ],
                                        "id": 1148,
                                        "name": "IfStatement",
                                        "src": "9445:216:7"
                                    }
                                ],
                                "id": 1149,
                                "name": "Block",
                                "src": "9389:281:7"
                            }
                        ],
                        "id": 1150,
                        "name": "FunctionDefinition",
                        "src": "9219:451:7"
                    },
                    {
                        "attributes": {
                            "documentation": "This function defines the number of participants required to co-sign a transaction\r\n@param _creator the vault's creator (eg, creator@email.com)\r\n@param _id vault creator's unique id using which it can be reached, eg, its Google/APNS token\r\n@param _minParticipants the minimum number of co-signers\r",
                            "implemented": true,
                            "isConstructor": false,
                            "kind": "function",
                            "name": "defineQuorum",
                            "scope": 1949,
                            "stateMutability": "nonpayable",
                            "superFunction": 434,
                            "visibility": "external"
                        },
                        "children": [
                            {
                                "children": [
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "_creator",
                                            "scope": 1170,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "bytes32",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "bytes32",
                                                    "type": "bytes32"
                                                },
                                                "id": 1151,
                                                "name": "ElementaryTypeName",
                                                "src": "10048:7:7"
                                            }
                                        ],
                                        "id": 1152,
                                        "name": "VariableDeclaration",
                                        "src": "10048:16:7"
                                    },
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "_id",
                                            "scope": 1170,
                                            "stateVariable": false,
                                            "storageLocation": "calldata",
                                            "type": "string",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "string",
                                                    "type": "string"
                                                },
                                                "id": 1153,
                                                "name": "ElementaryTypeName",
                                                "src": "10066:6:7"
                                            }
                                        ],
                                        "id": 1154,
                                        "name": "VariableDeclaration",
                                        "src": "10066:19:7"
                                    },
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "_minParticipants",
                                            "scope": 1170,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "uint256",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "uint256",
                                                    "type": "uint256"
                                                },
                                                "id": 1155,
                                                "name": "ElementaryTypeName",
                                                "src": "10087:7:7"
                                            }
                                        ],
                                        "id": 1156,
                                        "name": "VariableDeclaration",
                                        "src": "10087:24:7"
                                    }
                                ],
                                "id": 1157,
                                "name": "ParameterList",
                                "src": "10047:65:7"
                            },
                            {
                                "attributes": {
                                    "parameters": [
                                        null
                                    ]
                                },
                                "children": [],
                                "id": 1162,
                                "name": "ParameterList",
                                "src": "10148:0:7"
                            },
                            {
                                "children": [
                                    {
                                        "attributes": {
                                            "argumentTypes": null,
                                            "overloadedDeclarations": [
                                                null
                                            ],
                                            "referencedDeclaration": 695,
                                            "type": "modifier (bytes32,string memory)",
                                            "value": "onlySigner"
                                        },
                                        "id": 1158,
                                        "name": "Identifier",
                                        "src": "10113:10:7"
                                    },
                                    {
                                        "attributes": {
                                            "argumentTypes": null,
                                            "overloadedDeclarations": [
                                                null
                                            ],
                                            "referencedDeclaration": 1152,
                                            "type": "bytes32",
                                            "value": "_creator"
                                        },
                                        "id": 1159,
                                        "name": "Identifier",
                                        "src": "10124:8:7"
                                    },
                                    {
                                        "attributes": {
                                            "argumentTypes": null,
                                            "overloadedDeclarations": [
                                                null
                                            ],
                                            "referencedDeclaration": 1154,
                                            "type": "string calldata",
                                            "value": "_id"
                                        },
                                        "id": 1160,
                                        "name": "Identifier",
                                        "src": "10134:3:7"
                                    }
                                ],
                                "id": 1161,
                                "name": "ModifierInvocation",
                                "src": "10113:25:7"
                            },
                            {
                                "children": [
                                    {
                                        "children": [
                                            {
                                                "attributes": {
                                                    "argumentTypes": null,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "operator": "=",
                                                    "type": "uint256"
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "isConstant": false,
                                                            "isLValue": true,
                                                            "isPure": false,
                                                            "lValueRequested": true,
                                                            "type": "uint256"
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "overloadedDeclarations": [
                                                                        null
                                                                    ],
                                                                    "referencedDeclaration": 609,
                                                                    "type": "mapping(bytes32 => uint256)",
                                                                    "value": "quorum"
                                                                },
                                                                "id": 1163,
                                                                "name": "Identifier",
                                                                "src": "10159:6:7"
                                                            },
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "overloadedDeclarations": [
                                                                        null
                                                                    ],
                                                                    "referencedDeclaration": 1152,
                                                                    "type": "bytes32",
                                                                    "value": "_creator"
                                                                },
                                                                "id": 1164,
                                                                "name": "Identifier",
                                                                "src": "10166:8:7"
                                                            }
                                                        ],
                                                        "id": 1165,
                                                        "name": "IndexAccess",
                                                        "src": "10159:16:7"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "overloadedDeclarations": [
                                                                null
                                                            ],
                                                            "referencedDeclaration": 1156,
                                                            "type": "uint256",
                                                            "value": "_minParticipants"
                                                        },
                                                        "id": 1166,
                                                        "name": "Identifier",
                                                        "src": "10178:16:7"
                                                    }
                                                ],
                                                "id": 1167,
                                                "name": "Assignment",
                                                "src": "10159:35:7"
                                            }
                                        ],
                                        "id": 1168,
                                        "name": "ExpressionStatement",
                                        "src": "10159:35:7"
                                    }
                                ],
                                "id": 1169,
                                "name": "Block",
                                "src": "10148:54:7"
                            }
                        ],
                        "id": 1170,
                        "name": "FunctionDefinition",
                        "src": "10026:176:7"
                    },
                    {
                        "attributes": {
                            "documentation": "This function retrieves the number of participants required to co-sign a transaction\r\n@param _creator the vault's creator (eg, creator@email.com)\r\n@param _id vault creator's unique id using which it can be reached, eg, its Google/APNS token\r",
                            "implemented": true,
                            "isConstructor": false,
                            "kind": "function",
                            "name": "getQuorum",
                            "scope": 1949,
                            "stateMutability": "view",
                            "superFunction": 443,
                            "visibility": "external"
                        },
                        "children": [
                            {
                                "children": [
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "_creator",
                                            "scope": 1188,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "bytes32",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "bytes32",
                                                    "type": "bytes32"
                                                },
                                                "id": 1171,
                                                "name": "ElementaryTypeName",
                                                "src": "10513:7:7"
                                            }
                                        ],
                                        "id": 1172,
                                        "name": "VariableDeclaration",
                                        "src": "10513:16:7"
                                    },
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "_id",
                                            "scope": 1188,
                                            "stateVariable": false,
                                            "storageLocation": "calldata",
                                            "type": "string",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "string",
                                                    "type": "string"
                                                },
                                                "id": 1173,
                                                "name": "ElementaryTypeName",
                                                "src": "10531:6:7"
                                            }
                                        ],
                                        "id": 1174,
                                        "name": "VariableDeclaration",
                                        "src": "10531:19:7"
                                    }
                                ],
                                "id": 1175,
                                "name": "ParameterList",
                                "src": "10512:39:7"
                            },
                            {
                                "children": [
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "",
                                            "scope": 1188,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "uint256",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "uint256",
                                                    "type": "uint256"
                                                },
                                                "id": 1180,
                                                "name": "ElementaryTypeName",
                                                "src": "10600:7:7"
                                            }
                                        ],
                                        "id": 1181,
                                        "name": "VariableDeclaration",
                                        "src": "10600:7:7"
                                    }
                                ],
                                "id": 1182,
                                "name": "ParameterList",
                                "src": "10599:9:7"
                            },
                            {
                                "children": [
                                    {
                                        "attributes": {
                                            "argumentTypes": null,
                                            "overloadedDeclarations": [
                                                null
                                            ],
                                            "referencedDeclaration": 695,
                                            "type": "modifier (bytes32,string memory)",
                                            "value": "onlySigner"
                                        },
                                        "id": 1176,
                                        "name": "Identifier",
                                        "src": "10552:10:7"
                                    },
                                    {
                                        "attributes": {
                                            "argumentTypes": null,
                                            "overloadedDeclarations": [
                                                null
                                            ],
                                            "referencedDeclaration": 1172,
                                            "type": "bytes32",
                                            "value": "_creator"
                                        },
                                        "id": 1177,
                                        "name": "Identifier",
                                        "src": "10563:8:7"
                                    },
                                    {
                                        "attributes": {
                                            "argumentTypes": null,
                                            "overloadedDeclarations": [
                                                null
                                            ],
                                            "referencedDeclaration": 1174,
                                            "type": "string calldata",
                                            "value": "_id"
                                        },
                                        "id": 1178,
                                        "name": "Identifier",
                                        "src": "10573:3:7"
                                    }
                                ],
                                "id": 1179,
                                "name": "ModifierInvocation",
                                "src": "10552:25:7"
                            },
                            {
                                "children": [
                                    {
                                        "attributes": {
                                            "functionReturnParameters": 1182
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "argumentTypes": null,
                                                    "isConstant": false,
                                                    "isLValue": true,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "type": "uint256"
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "overloadedDeclarations": [
                                                                null
                                                            ],
                                                            "referencedDeclaration": 609,
                                                            "type": "mapping(bytes32 => uint256)",
                                                            "value": "quorum"
                                                        },
                                                        "id": 1183,
                                                        "name": "Identifier",
                                                        "src": "10626:6:7"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "overloadedDeclarations": [
                                                                null
                                                            ],
                                                            "referencedDeclaration": 1172,
                                                            "type": "bytes32",
                                                            "value": "_creator"
                                                        },
                                                        "id": 1184,
                                                        "name": "Identifier",
                                                        "src": "10633:8:7"
                                                    }
                                                ],
                                                "id": 1185,
                                                "name": "IndexAccess",
                                                "src": "10626:16:7"
                                            }
                                        ],
                                        "id": 1186,
                                        "name": "Return",
                                        "src": "10619:23:7"
                                    }
                                ],
                                "id": 1187,
                                "name": "Block",
                                "src": "10608:42:7"
                            }
                        ],
                        "id": 1188,
                        "name": "FunctionDefinition",
                        "src": "10494:156:7"
                    },
                    {
                        "attributes": {
                            "documentation": "This function prompts participants to co-sign a transaction on the vault (ie, the creator's address secured by the quorum of participants)\r\n@param _creator the vault's creator (eg, creator@email.com)\r\n@param _id vault creator's unique id using which it can be reached, eg, its Google/APNS token\r",
                            "implemented": true,
                            "isConstructor": false,
                            "kind": "function",
                            "name": "promptSignatures",
                            "scope": 1949,
                            "stateMutability": "nonpayable",
                            "superFunction": 450,
                            "visibility": "external"
                        },
                        "children": [
                            {
                                "children": [
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "_creator",
                                            "scope": 1265,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "bytes32",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "bytes32",
                                                    "type": "bytes32"
                                                },
                                                "id": 1189,
                                                "name": "ElementaryTypeName",
                                                "src": "11022:7:7"
                                            }
                                        ],
                                        "id": 1190,
                                        "name": "VariableDeclaration",
                                        "src": "11022:16:7"
                                    },
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "_id",
                                            "scope": 1265,
                                            "stateVariable": false,
                                            "storageLocation": "calldata",
                                            "type": "string",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "string",
                                                    "type": "string"
                                                },
                                                "id": 1191,
                                                "name": "ElementaryTypeName",
                                                "src": "11040:6:7"
                                            }
                                        ],
                                        "id": 1192,
                                        "name": "VariableDeclaration",
                                        "src": "11040:19:7"
                                    }
                                ],
                                "id": 1193,
                                "name": "ParameterList",
                                "src": "11021:39:7"
                            },
                            {
                                "attributes": {
                                    "parameters": [
                                        null
                                    ]
                                },
                                "children": [],
                                "id": 1198,
                                "name": "ParameterList",
                                "src": "11096:0:7"
                            },
                            {
                                "children": [
                                    {
                                        "attributes": {
                                            "argumentTypes": null,
                                            "overloadedDeclarations": [
                                                null
                                            ],
                                            "referencedDeclaration": 695,
                                            "type": "modifier (bytes32,string memory)",
                                            "value": "onlySigner"
                                        },
                                        "id": 1194,
                                        "name": "Identifier",
                                        "src": "11061:10:7"
                                    },
                                    {
                                        "attributes": {
                                            "argumentTypes": null,
                                            "overloadedDeclarations": [
                                                null
                                            ],
                                            "referencedDeclaration": 1190,
                                            "type": "bytes32",
                                            "value": "_creator"
                                        },
                                        "id": 1195,
                                        "name": "Identifier",
                                        "src": "11072:8:7"
                                    },
                                    {
                                        "attributes": {
                                            "argumentTypes": null,
                                            "overloadedDeclarations": [
                                                null
                                            ],
                                            "referencedDeclaration": 1192,
                                            "type": "string calldata",
                                            "value": "_id"
                                        },
                                        "id": 1196,
                                        "name": "Identifier",
                                        "src": "11082:3:7"
                                    }
                                ],
                                "id": 1197,
                                "name": "ModifierInvocation",
                                "src": "11061:25:7"
                            },
                            {
                                "children": [
                                    {
                                        "attributes": {
                                            "assignments": [
                                                1202
                                            ]
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "constant": false,
                                                    "name": "cs",
                                                    "scope": 1264,
                                                    "stateVariable": false,
                                                    "storageLocation": "memory",
                                                    "type": "bytes32[]",
                                                    "value": null,
                                                    "visibility": "internal"
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "length": null,
                                                            "type": "bytes32[]"
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "name": "bytes32",
                                                                    "type": "bytes32"
                                                                },
                                                                "id": 1200,
                                                                "name": "ElementaryTypeName",
                                                                "src": "11107:7:7"
                                                            }
                                                        ],
                                                        "id": 1201,
                                                        "name": "ArrayTypeName",
                                                        "src": "11107:9:7"
                                                    }
                                                ],
                                                "id": 1202,
                                                "name": "VariableDeclaration",
                                                "src": "11107:19:7"
                                            },
                                            {
                                                "attributes": {
                                                    "argumentTypes": null,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "isStructConstructorCall": false,
                                                    "lValueRequested": false,
                                                    "names": [
                                                        null
                                                    ],
                                                    "type": "bytes32[] memory",
                                                    "type_conversion": false
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": [
                                                                {
                                                                    "typeIdentifier": "t_uint256",
                                                                    "typeString": "uint256"
                                                                }
                                                            ],
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": true,
                                                            "lValueRequested": false,
                                                            "type": "function (uint256) pure returns (bytes32[] memory)"
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "length": null,
                                                                    "type": "bytes32[]"
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "name": "bytes32",
                                                                            "type": "bytes32"
                                                                        },
                                                                        "id": 1203,
                                                                        "name": "ElementaryTypeName",
                                                                        "src": "11133:7:7"
                                                                    }
                                                                ],
                                                                "id": 1204,
                                                                "name": "ArrayTypeName",
                                                                "src": "11133:9:7"
                                                            }
                                                        ],
                                                        "id": 1205,
                                                        "name": "NewExpression",
                                                        "src": "11129:13:7"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "isConstant": false,
                                                            "isLValue": true,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "member_name": "length",
                                                            "referencedDeclaration": null,
                                                            "type": "uint256"
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "isConstant": false,
                                                                    "isLValue": true,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "type": "bytes32[] storage ref"
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 587,
                                                                            "type": "mapping(bytes32 => bytes32[] storage ref)",
                                                                            "value": "vaults"
                                                                        },
                                                                        "id": 1206,
                                                                        "name": "Identifier",
                                                                        "src": "11143:6:7"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 1190,
                                                                            "type": "bytes32",
                                                                            "value": "_creator"
                                                                        },
                                                                        "id": 1207,
                                                                        "name": "Identifier",
                                                                        "src": "11150:8:7"
                                                                    }
                                                                ],
                                                                "id": 1208,
                                                                "name": "IndexAccess",
                                                                "src": "11143:16:7"
                                                            }
                                                        ],
                                                        "id": 1209,
                                                        "name": "MemberAccess",
                                                        "src": "11143:23:7"
                                                    }
                                                ],
                                                "id": 1210,
                                                "name": "FunctionCall",
                                                "src": "11129:38:7"
                                            }
                                        ],
                                        "id": 1211,
                                        "name": "VariableDeclarationStatement",
                                        "src": "11107:60:7"
                                    },
                                    {
                                        "children": [
                                            {
                                                "attributes": {
                                                    "argumentTypes": null,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "operator": "=",
                                                    "type": "uint256"
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "overloadedDeclarations": [
                                                                null
                                                            ],
                                                            "referencedDeclaration": 573,
                                                            "type": "uint256",
                                                            "value": "txid"
                                                        },
                                                        "id": 1212,
                                                        "name": "Identifier",
                                                        "src": "11178:4:7"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "type": "uint256"
                                                        },
                                                        "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": false,
                                                                            "isPure": false,
                                                                            "lValueRequested": false,
                                                                            "member_name": "timestamp",
                                                                            "referencedDeclaration": null,
                                                                            "type": "uint256"
                                                                        },
                                                                        "children": [
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "overloadedDeclarations": [
                                                                                        null
                                                                                    ],
                                                                                    "referencedDeclaration": 3946,
                                                                                    "type": "block",
                                                                                    "value": "block"
                                                                                },
                                                                                "id": 1213,
                                                                                "name": "Identifier",
                                                                                "src": "11185:5:7"
                                                                            }
                                                                        ],
                                                                        "id": 1214,
                                                                        "name": "MemberAccess",
                                                                        "src": "11185:15:7"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 573,
                                                                            "type": "uint256",
                                                                            "value": "txid"
                                                                        },
                                                                        "id": 1215,
                                                                        "name": "Identifier",
                                                                        "src": "11204:4:7"
                                                                    }
                                                                ],
                                                                "id": 1216,
                                                                "name": "BinaryOperation",
                                                                "src": "11185:23:7"
                                                            },
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "commonType": {
                                                                        "typeIdentifier": "t_uint256",
                                                                        "typeString": "uint256"
                                                                    },
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "operator": "+",
                                                                    "type": "uint256"
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 573,
                                                                            "type": "uint256",
                                                                            "value": "txid"
                                                                        },
                                                                        "id": 1217,
                                                                        "name": "Identifier",
                                                                        "src": "11211:4:7"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "hexvalue": "31",
                                                                            "isConstant": false,
                                                                            "isLValue": false,
                                                                            "isPure": true,
                                                                            "lValueRequested": false,
                                                                            "subdenomination": null,
                                                                            "token": "number",
                                                                            "type": "int_const 1",
                                                                            "value": "1"
                                                                        },
                                                                        "id": 1218,
                                                                        "name": "Literal",
                                                                        "src": "11218:1:7"
                                                                    }
                                                                ],
                                                                "id": 1219,
                                                                "name": "BinaryOperation",
                                                                "src": "11211:8:7"
                                                            },
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "member_name": "timestamp",
                                                                    "referencedDeclaration": null,
                                                                    "type": "uint256"
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 3946,
                                                                            "type": "block",
                                                                            "value": "block"
                                                                        },
                                                                        "id": 1220,
                                                                        "name": "Identifier",
                                                                        "src": "11222:5:7"
                                                                    }
                                                                ],
                                                                "id": 1221,
                                                                "name": "MemberAccess",
                                                                "src": "11222:15:7"
                                                            }
                                                        ],
                                                        "id": 1222,
                                                        "name": "Conditional",
                                                        "src": "11185:52:7"
                                                    }
                                                ],
                                                "id": 1223,
                                                "name": "Assignment",
                                                "src": "11178:59:7"
                                            }
                                        ],
                                        "id": 1224,
                                        "name": "ExpressionStatement",
                                        "src": "11178:59:7"
                                    },
                                    {
                                        "attributes": {
                                            "assignments": [
                                                1226
                                            ]
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "constant": false,
                                                    "name": "currentTx",
                                                    "scope": 1264,
                                                    "stateVariable": false,
                                                    "storageLocation": "memory",
                                                    "type": "struct IVault.transaction",
                                                    "value": null,
                                                    "visibility": "internal"
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "contractScope": null,
                                                            "name": "transaction",
                                                            "referencedDeclaration": 367,
                                                            "type": "struct IVault.transaction"
                                                        },
                                                        "id": 1225,
                                                        "name": "UserDefinedTypeName",
                                                        "src": "11248:11:7"
                                                    }
                                                ],
                                                "id": 1226,
                                                "name": "VariableDeclaration",
                                                "src": "11248:28:7"
                                            },
                                            {
                                                "attributes": {
                                                    "argumentTypes": null,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "isStructConstructorCall": true,
                                                    "lValueRequested": false,
                                                    "names": [
                                                        "datetime",
                                                        "cosigners"
                                                    ],
                                                    "type": "struct IVault.transaction memory",
                                                    "type_conversion": false
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": [
                                                                {
                                                                    "typeIdentifier": "t_uint256",
                                                                    "typeString": "uint256"
                                                                },
                                                                {
                                                                    "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
                                                                    "typeString": "bytes32[] memory"
                                                                }
                                                            ],
                                                            "overloadedDeclarations": [
                                                                null
                                                            ],
                                                            "referencedDeclaration": 367,
                                                            "type": "type(struct IVault.transaction storage pointer)",
                                                            "value": "transaction"
                                                        },
                                                        "id": 1227,
                                                        "name": "Identifier",
                                                        "src": "11279:11:7"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "overloadedDeclarations": [
                                                                null
                                                            ],
                                                            "referencedDeclaration": 573,
                                                            "type": "uint256",
                                                            "value": "txid"
                                                        },
                                                        "id": 1228,
                                                        "name": "Identifier",
                                                        "src": "11317:4:7"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "overloadedDeclarations": [
                                                                null
                                                            ],
                                                            "referencedDeclaration": 1202,
                                                            "type": "bytes32[] memory",
                                                            "value": "cs"
                                                        },
                                                        "id": 1229,
                                                        "name": "Identifier",
                                                        "src": "11348:2:7"
                                                    }
                                                ],
                                                "id": 1230,
                                                "name": "FunctionCall",
                                                "src": "11279:83:7"
                                            }
                                        ],
                                        "id": 1231,
                                        "name": "VariableDeclarationStatement",
                                        "src": "11248:114:7"
                                    },
                                    {
                                        "children": [
                                            {
                                                "attributes": {
                                                    "argumentTypes": null,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "isStructConstructorCall": false,
                                                    "lValueRequested": false,
                                                    "names": [
                                                        null
                                                    ],
                                                    "type": "uint256",
                                                    "type_conversion": false
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": [
                                                                {
                                                                    "typeIdentifier": "t_struct$_transaction_$367_memory_ptr",
                                                                    "typeString": "struct IVault.transaction memory"
                                                                }
                                                            ],
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "member_name": "push",
                                                            "referencedDeclaration": null,
                                                            "type": "function (struct IVault.transaction storage ref) returns (uint256)"
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "isConstant": false,
                                                                    "isLValue": true,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "type": "struct IVault.transaction storage ref[] storage ref"
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 614,
                                                                            "type": "mapping(bytes32 => struct IVault.transaction storage ref[] storage ref)",
                                                                            "value": "transactions"
                                                                        },
                                                                        "id": 1232,
                                                                        "name": "Identifier",
                                                                        "src": "11373:12:7"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 1190,
                                                                            "type": "bytes32",
                                                                            "value": "_creator"
                                                                        },
                                                                        "id": 1233,
                                                                        "name": "Identifier",
                                                                        "src": "11386:8:7"
                                                                    }
                                                                ],
                                                                "id": 1234,
                                                                "name": "IndexAccess",
                                                                "src": "11373:22:7"
                                                            }
                                                        ],
                                                        "id": 1235,
                                                        "name": "MemberAccess",
                                                        "src": "11373:27:7"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "overloadedDeclarations": [
                                                                null
                                                            ],
                                                            "referencedDeclaration": 1226,
                                                            "type": "struct IVault.transaction memory",
                                                            "value": "currentTx"
                                                        },
                                                        "id": 1236,
                                                        "name": "Identifier",
                                                        "src": "11401:9:7"
                                                    }
                                                ],
                                                "id": 1237,
                                                "name": "FunctionCall",
                                                "src": "11373:38:7"
                                            }
                                        ],
                                        "id": 1238,
                                        "name": "ExpressionStatement",
                                        "src": "11373:38:7"
                                    },
                                    {
                                        "children": [
                                            {
                                                "attributes": {
                                                    "assignments": [
                                                        1240
                                                    ]
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "constant": false,
                                                            "name": "i",
                                                            "scope": 1263,
                                                            "stateVariable": false,
                                                            "storageLocation": "default",
                                                            "type": "uint256",
                                                            "value": null,
                                                            "visibility": "internal"
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "name": "uint256",
                                                                    "type": "uint256"
                                                                },
                                                                "id": 1239,
                                                                "name": "ElementaryTypeName",
                                                                "src": "11426:7:7"
                                                            }
                                                        ],
                                                        "id": 1240,
                                                        "name": "VariableDeclaration",
                                                        "src": "11426:9:7"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "hexvalue": "30",
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": true,
                                                            "lValueRequested": false,
                                                            "subdenomination": null,
                                                            "token": "number",
                                                            "type": "int_const 0",
                                                            "value": "0"
                                                        },
                                                        "id": 1241,
                                                        "name": "Literal",
                                                        "src": "11436:1:7"
                                                    }
                                                ],
                                                "id": 1242,
                                                "name": "VariableDeclarationStatement",
                                                "src": "11426:11:7"
                                            },
                                            {
                                                "attributes": {
                                                    "argumentTypes": null,
                                                    "commonType": {
                                                        "typeIdentifier": "t_uint256",
                                                        "typeString": "uint256"
                                                    },
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "operator": "<",
                                                    "type": "bool"
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "overloadedDeclarations": [
                                                                null
                                                            ],
                                                            "referencedDeclaration": 1240,
                                                            "type": "uint256",
                                                            "value": "i"
                                                        },
                                                        "id": 1243,
                                                        "name": "Identifier",
                                                        "src": "11439:1:7"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "isConstant": false,
                                                            "isLValue": true,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "member_name": "length",
                                                            "referencedDeclaration": null,
                                                            "type": "uint256"
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "isConstant": false,
                                                                    "isLValue": true,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "type": "bytes32[] storage ref"
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 587,
                                                                            "type": "mapping(bytes32 => bytes32[] storage ref)",
                                                                            "value": "vaults"
                                                                        },
                                                                        "id": 1244,
                                                                        "name": "Identifier",
                                                                        "src": "11441:6:7"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 1190,
                                                                            "type": "bytes32",
                                                                            "value": "_creator"
                                                                        },
                                                                        "id": 1245,
                                                                        "name": "Identifier",
                                                                        "src": "11448:8:7"
                                                                    }
                                                                ],
                                                                "id": 1246,
                                                                "name": "IndexAccess",
                                                                "src": "11441:16:7"
                                                            }
                                                        ],
                                                        "id": 1247,
                                                        "name": "MemberAccess",
                                                        "src": "11441:23:7"
                                                    }
                                                ],
                                                "id": 1248,
                                                "name": "BinaryOperation",
                                                "src": "11439:25:7"
                                            },
                                            {
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "operator": "++",
                                                            "prefix": false,
                                                            "type": "uint256"
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "overloadedDeclarations": [
                                                                        null
                                                                    ],
                                                                    "referencedDeclaration": 1240,
                                                                    "type": "uint256",
                                                                    "value": "i"
                                                                },
                                                                "id": 1249,
                                                                "name": "Identifier",
                                                                "src": "11466:1:7"
                                                            }
                                                        ],
                                                        "id": 1250,
                                                        "name": "UnaryOperation",
                                                        "src": "11466:3:7"
                                                    }
                                                ],
                                                "id": 1251,
                                                "name": "ExpressionStatement",
                                                "src": "11466:3:7"
                                            },
                                            {
                                                "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_bytes32",
                                                                                    "typeString": "bytes32"
                                                                                },
                                                                                {
                                                                                    "typeIdentifier": "t_bytes32",
                                                                                    "typeString": "bytes32"
                                                                                },
                                                                                {
                                                                                    "typeIdentifier": "t_uint256",
                                                                                    "typeString": "uint256"
                                                                                }
                                                                            ],
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 628,
                                                                            "type": "function (bytes32,bytes32,uint256)",
                                                                            "value": "NewTransaction"
                                                                        },
                                                                        "id": 1252,
                                                                        "name": "Identifier",
                                                                        "src": "11490:14:7"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 1190,
                                                                            "type": "bytes32",
                                                                            "value": "_creator"
                                                                        },
                                                                        "id": 1253,
                                                                        "name": "Identifier",
                                                                        "src": "11505:8:7"
                                                                    },
                                                                    {
                                                                        "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,
                                                                                    "type": "bytes32[] storage ref"
                                                                                },
                                                                                "children": [
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "overloadedDeclarations": [
                                                                                                null
                                                                                            ],
                                                                                            "referencedDeclaration": 587,
                                                                                            "type": "mapping(bytes32 => bytes32[] storage ref)",
                                                                                            "value": "vaults"
                                                                                        },
                                                                                        "id": 1254,
                                                                                        "name": "Identifier",
                                                                                        "src": "11515:6:7"
                                                                                    },
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "overloadedDeclarations": [
                                                                                                null
                                                                                            ],
                                                                                            "referencedDeclaration": 1190,
                                                                                            "type": "bytes32",
                                                                                            "value": "_creator"
                                                                                        },
                                                                                        "id": 1255,
                                                                                        "name": "Identifier",
                                                                                        "src": "11522:8:7"
                                                                                    }
                                                                                ],
                                                                                "id": 1256,
                                                                                "name": "IndexAccess",
                                                                                "src": "11515:16:7"
                                                                            },
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "overloadedDeclarations": [
                                                                                        null
                                                                                    ],
                                                                                    "referencedDeclaration": 1240,
                                                                                    "type": "uint256",
                                                                                    "value": "i"
                                                                                },
                                                                                "id": 1257,
                                                                                "name": "Identifier",
                                                                                "src": "11532:1:7"
                                                                            }
                                                                        ],
                                                                        "id": 1258,
                                                                        "name": "IndexAccess",
                                                                        "src": "11515:19:7"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 573,
                                                                            "type": "uint256",
                                                                            "value": "txid"
                                                                        },
                                                                        "id": 1259,
                                                                        "name": "Identifier",
                                                                        "src": "11536:4:7"
                                                                    }
                                                                ],
                                                                "id": 1260,
                                                                "name": "FunctionCall",
                                                                "src": "11490:51:7"
                                                            }
                                                        ],
                                                        "id": 1261,
                                                        "name": "EmitStatement",
                                                        "src": "11485:56:7"
                                                    }
                                                ],
                                                "id": 1262,
                                                "name": "Block",
                                                "src": "11470:83:7"
                                            }
                                        ],
                                        "id": 1263,
                                        "name": "ForStatement",
                                        "src": "11422:131:7"
                                    }
                                ],
                                "id": 1264,
                                "name": "Block",
                                "src": "11096:464:7"
                            }
                        ],
                        "id": 1265,
                        "name": "FunctionDefinition",
                        "src": "10996:564:7"
                    },
                    {
                        "attributes": {
                            "documentation": "This function lets a participant co-sign a transaction\r\n@param _creator the vault's creator (eg, creator@email.com)\r\n@param _id vault creator's unique id using which it can be reached, eg, its Google/APNS token\r\n@param _participant the vault's participant (eg, participant@email.com)\r\n@param _tx transaction identifier\r\n@param _pin the PIN number of the signer (participant)\r",
                            "implemented": true,
                            "isConstructor": false,
                            "kind": "function",
                            "name": "signTransaction",
                            "scope": 1949,
                            "stateMutability": "nonpayable",
                            "superFunction": 463,
                            "visibility": "external"
                        },
                        "children": [
                            {
                                "children": [
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "_creator",
                                            "scope": 1388,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "bytes32",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "bytes32",
                                                    "type": "bytes32"
                                                },
                                                "id": 1266,
                                                "name": "ElementaryTypeName",
                                                "src": "12035:7:7"
                                            }
                                        ],
                                        "id": 1267,
                                        "name": "VariableDeclaration",
                                        "src": "12035:16:7"
                                    },
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "_id",
                                            "scope": 1388,
                                            "stateVariable": false,
                                            "storageLocation": "calldata",
                                            "type": "string",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "string",
                                                    "type": "string"
                                                },
                                                "id": 1268,
                                                "name": "ElementaryTypeName",
                                                "src": "12053:6:7"
                                            }
                                        ],
                                        "id": 1269,
                                        "name": "VariableDeclaration",
                                        "src": "12053:19:7"
                                    },
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "_participant",
                                            "scope": 1388,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "bytes32",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "bytes32",
                                                    "type": "bytes32"
                                                },
                                                "id": 1270,
                                                "name": "ElementaryTypeName",
                                                "src": "12074:7:7"
                                            }
                                        ],
                                        "id": 1271,
                                        "name": "VariableDeclaration",
                                        "src": "12074:20:7"
                                    },
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "_tx",
                                            "scope": 1388,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "uint256",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "uint256",
                                                    "type": "uint256"
                                                },
                                                "id": 1272,
                                                "name": "ElementaryTypeName",
                                                "src": "12096:7:7"
                                            }
                                        ],
                                        "id": 1273,
                                        "name": "VariableDeclaration",
                                        "src": "12096:11:7"
                                    },
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "_pin",
                                            "scope": 1388,
                                            "stateVariable": false,
                                            "storageLocation": "calldata",
                                            "type": "string",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "string",
                                                    "type": "string"
                                                },
                                                "id": 1274,
                                                "name": "ElementaryTypeName",
                                                "src": "12109:6:7"
                                            }
                                        ],
                                        "id": 1275,
                                        "name": "VariableDeclaration",
                                        "src": "12109:20:7"
                                    }
                                ],
                                "id": 1276,
                                "name": "ParameterList",
                                "src": "12034:96:7"
                            },
                            {
                                "attributes": {
                                    "parameters": [
                                        null
                                    ]
                                },
                                "children": [],
                                "id": 1281,
                                "name": "ParameterList",
                                "src": "12170:0:7"
                            },
                            {
                                "children": [
                                    {
                                        "attributes": {
                                            "argumentTypes": null,
                                            "overloadedDeclarations": [
                                                null
                                            ],
                                            "referencedDeclaration": 695,
                                            "type": "modifier (bytes32,string memory)",
                                            "value": "onlySigner"
                                        },
                                        "id": 1277,
                                        "name": "Identifier",
                                        "src": "12131:10:7"
                                    },
                                    {
                                        "attributes": {
                                            "argumentTypes": null,
                                            "overloadedDeclarations": [
                                                null
                                            ],
                                            "referencedDeclaration": 1271,
                                            "type": "bytes32",
                                            "value": "_participant"
                                        },
                                        "id": 1278,
                                        "name": "Identifier",
                                        "src": "12142:12:7"
                                    },
                                    {
                                        "attributes": {
                                            "argumentTypes": null,
                                            "overloadedDeclarations": [
                                                null
                                            ],
                                            "referencedDeclaration": 1269,
                                            "type": "string calldata",
                                            "value": "_id"
                                        },
                                        "id": 1279,
                                        "name": "Identifier",
                                        "src": "12156:3:7"
                                    }
                                ],
                                "id": 1280,
                                "name": "ModifierInvocation",
                                "src": "12131:29:7"
                            },
                            {
                                "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": [
                                                                3959,
                                                                3960
                                                            ],
                                                            "referencedDeclaration": 3959,
                                                            "type": "function (bool) pure",
                                                            "value": "require"
                                                        },
                                                        "id": 1282,
                                                        "name": "Identifier",
                                                        "src": "12181:7:7"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "commonType": {
                                                                "typeIdentifier": "t_bytes32",
                                                                "typeString": "bytes32"
                                                            },
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "operator": "==",
                                                            "type": "bool"
                                                        },
                                                        "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_bytes_memory_ptr",
                                                                                    "typeString": "bytes memory"
                                                                                }
                                                                            ],
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 3950,
                                                                            "type": "function (bytes memory) pure returns (bytes32)",
                                                                            "value": "keccak256"
                                                                        },
                                                                        "id": 1283,
                                                                        "name": "Identifier",
                                                                        "src": "12189:9:7"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "isConstant": false,
                                                                            "isLValue": false,
                                                                            "isPure": false,
                                                                            "isStructConstructorCall": false,
                                                                            "lValueRequested": false,
                                                                            "names": [
                                                                                null
                                                                            ],
                                                                            "type": "bytes memory",
                                                                            "type_conversion": false
                                                                        },
                                                                        "children": [
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": [
                                                                                        {
                                                                                            "typeIdentifier": "t_string_storage",
                                                                                            "typeString": "string storage ref"
                                                                                        }
                                                                                    ],
                                                                                    "isConstant": false,
                                                                                    "isLValue": false,
                                                                                    "isPure": true,
                                                                                    "lValueRequested": false,
                                                                                    "member_name": "encodePacked",
                                                                                    "referencedDeclaration": null,
                                                                                    "type": "function () pure returns (bytes memory)"
                                                                                },
                                                                                "children": [
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "overloadedDeclarations": [
                                                                                                null
                                                                                            ],
                                                                                            "referencedDeclaration": 3943,
                                                                                            "type": "abi",
                                                                                            "value": "abi"
                                                                                        },
                                                                                        "id": 1284,
                                                                                        "name": "Identifier",
                                                                                        "src": "12199:3:7"
                                                                                    }
                                                                                ],
                                                                                "id": 1285,
                                                                                "name": "MemberAccess",
                                                                                "src": "12199:16:7"
                                                                            },
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "isConstant": false,
                                                                                    "isLValue": true,
                                                                                    "isPure": false,
                                                                                    "lValueRequested": false,
                                                                                    "type": "string storage ref"
                                                                                },
                                                                                "children": [
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "isConstant": false,
                                                                                            "isLValue": true,
                                                                                            "isPure": false,
                                                                                            "lValueRequested": false,
                                                                                            "type": "mapping(bytes32 => string storage ref)"
                                                                                        },
                                                                                        "children": [
                                                                                            {
                                                                                                "attributes": {
                                                                                                    "argumentTypes": null,
                                                                                                    "overloadedDeclarations": [
                                                                                                        null
                                                                                                    ],
                                                                                                    "referencedDeclaration": 599,
                                                                                                    "type": "mapping(bytes32 => mapping(bytes32 => string storage ref))",
                                                                                                    "value": "pins"
                                                                                                },
                                                                                                "id": 1286,
                                                                                                "name": "Identifier",
                                                                                                "src": "12216:4:7"
                                                                                            },
                                                                                            {
                                                                                                "attributes": {
                                                                                                    "argumentTypes": null,
                                                                                                    "overloadedDeclarations": [
                                                                                                        null
                                                                                                    ],
                                                                                                    "referencedDeclaration": 1267,
                                                                                                    "type": "bytes32",
                                                                                                    "value": "_creator"
                                                                                                },
                                                                                                "id": 1287,
                                                                                                "name": "Identifier",
                                                                                                "src": "12221:8:7"
                                                                                            }
                                                                                        ],
                                                                                        "id": 1288,
                                                                                        "name": "IndexAccess",
                                                                                        "src": "12216:14:7"
                                                                                    },
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "overloadedDeclarations": [
                                                                                                null
                                                                                            ],
                                                                                            "referencedDeclaration": 1271,
                                                                                            "type": "bytes32",
                                                                                            "value": "_participant"
                                                                                        },
                                                                                        "id": 1289,
                                                                                        "name": "Identifier",
                                                                                        "src": "12231:12:7"
                                                                                    }
                                                                                ],
                                                                                "id": 1290,
                                                                                "name": "IndexAccess",
                                                                                "src": "12216:28:7"
                                                                            }
                                                                        ],
                                                                        "id": 1291,
                                                                        "name": "FunctionCall",
                                                                        "src": "12199:46:7"
                                                                    }
                                                                ],
                                                                "id": 1292,
                                                                "name": "FunctionCall",
                                                                "src": "12189:57:7"
                                                            },
                                                            {
                                                                "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_bytes_memory_ptr",
                                                                                    "typeString": "bytes memory"
                                                                                }
                                                                            ],
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 3950,
                                                                            "type": "function (bytes memory) pure returns (bytes32)",
                                                                            "value": "keccak256"
                                                                        },
                                                                        "id": 1293,
                                                                        "name": "Identifier",
                                                                        "src": "12248:9:7"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "isConstant": false,
                                                                            "isLValue": false,
                                                                            "isPure": false,
                                                                            "isStructConstructorCall": false,
                                                                            "lValueRequested": false,
                                                                            "names": [
                                                                                null
                                                                            ],
                                                                            "type": "bytes memory",
                                                                            "type_conversion": false
                                                                        },
                                                                        "children": [
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": [
                                                                                        {
                                                                                            "typeIdentifier": "t_string_calldata_ptr",
                                                                                            "typeString": "string calldata"
                                                                                        }
                                                                                    ],
                                                                                    "isConstant": false,
                                                                                    "isLValue": false,
                                                                                    "isPure": true,
                                                                                    "lValueRequested": false,
                                                                                    "member_name": "encodePacked",
                                                                                    "referencedDeclaration": null,
                                                                                    "type": "function () pure returns (bytes memory)"
                                                                                },
                                                                                "children": [
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "overloadedDeclarations": [
                                                                                                null
                                                                                            ],
                                                                                            "referencedDeclaration": 3943,
                                                                                            "type": "abi",
                                                                                            "value": "abi"
                                                                                        },
                                                                                        "id": 1294,
                                                                                        "name": "Identifier",
                                                                                        "src": "12258:3:7"
                                                                                    }
                                                                                ],
                                                                                "id": 1295,
                                                                                "name": "MemberAccess",
                                                                                "src": "12258:16:7"
                                                                            },
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "overloadedDeclarations": [
                                                                                        null
                                                                                    ],
                                                                                    "referencedDeclaration": 1275,
                                                                                    "type": "string calldata",
                                                                                    "value": "_pin"
                                                                                },
                                                                                "id": 1296,
                                                                                "name": "Identifier",
                                                                                "src": "12275:4:7"
                                                                            }
                                                                        ],
                                                                        "id": 1297,
                                                                        "name": "FunctionCall",
                                                                        "src": "12258:22:7"
                                                                    }
                                                                ],
                                                                "id": 1298,
                                                                "name": "FunctionCall",
                                                                "src": "12248:33:7"
                                                            }
                                                        ],
                                                        "id": 1299,
                                                        "name": "BinaryOperation",
                                                        "src": "12189:92:7"
                                                    }
                                                ],
                                                "id": 1300,
                                                "name": "FunctionCall",
                                                "src": "12181:101:7"
                                            }
                                        ],
                                        "id": 1301,
                                        "name": "ExpressionStatement",
                                        "src": "12181:101:7"
                                    },
                                    {
                                        "children": [
                                            {
                                                "attributes": {
                                                    "assignments": [
                                                        1303
                                                    ]
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "constant": false,
                                                            "name": "i",
                                                            "scope": 1386,
                                                            "stateVariable": false,
                                                            "storageLocation": "default",
                                                            "type": "uint256",
                                                            "value": null,
                                                            "visibility": "internal"
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "name": "uint",
                                                                    "type": "uint256"
                                                                },
                                                                "id": 1302,
                                                                "name": "ElementaryTypeName",
                                                                "src": "12297:4:7"
                                                            }
                                                        ],
                                                        "id": 1303,
                                                        "name": "VariableDeclaration",
                                                        "src": "12297:6:7"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "hexvalue": "30",
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": true,
                                                            "lValueRequested": false,
                                                            "subdenomination": null,
                                                            "token": "number",
                                                            "type": "int_const 0",
                                                            "value": "0"
                                                        },
                                                        "id": 1304,
                                                        "name": "Literal",
                                                        "src": "12304:1:7"
                                                    }
                                                ],
                                                "id": 1305,
                                                "name": "VariableDeclarationStatement",
                                                "src": "12297:8:7"
                                            },
                                            {
                                                "attributes": {
                                                    "argumentTypes": null,
                                                    "commonType": {
                                                        "typeIdentifier": "t_uint256",
                                                        "typeString": "uint256"
                                                    },
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "operator": "<",
                                                    "type": "bool"
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "overloadedDeclarations": [
                                                                null
                                                            ],
                                                            "referencedDeclaration": 1303,
                                                            "type": "uint256",
                                                            "value": "i"
                                                        },
                                                        "id": 1306,
                                                        "name": "Identifier",
                                                        "src": "12307:1:7"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "isConstant": false,
                                                            "isLValue": true,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "member_name": "length",
                                                            "referencedDeclaration": null,
                                                            "type": "uint256"
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "isConstant": false,
                                                                    "isLValue": true,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "type": "struct IVault.transaction storage ref[] storage ref"
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 614,
                                                                            "type": "mapping(bytes32 => struct IVault.transaction storage ref[] storage ref)",
                                                                            "value": "transactions"
                                                                        },
                                                                        "id": 1307,
                                                                        "name": "Identifier",
                                                                        "src": "12309:12:7"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 1267,
                                                                            "type": "bytes32",
                                                                            "value": "_creator"
                                                                        },
                                                                        "id": 1308,
                                                                        "name": "Identifier",
                                                                        "src": "12322:8:7"
                                                                    }
                                                                ],
                                                                "id": 1309,
                                                                "name": "IndexAccess",
                                                                "src": "12309:22:7"
                                                            }
                                                        ],
                                                        "id": 1310,
                                                        "name": "MemberAccess",
                                                        "src": "12309:29:7"
                                                    }
                                                ],
                                                "id": 1311,
                                                "name": "BinaryOperation",
                                                "src": "12307:31:7"
                                            },
                                            {
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "operator": "++",
                                                            "prefix": false,
                                                            "type": "uint256"
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "overloadedDeclarations": [
                                                                        null
                                                                    ],
                                                                    "referencedDeclaration": 1303,
                                                                    "type": "uint256",
                                                                    "value": "i"
                                                                },
                                                                "id": 1312,
                                                                "name": "Identifier",
                                                                "src": "12340:1:7"
                                                            }
                                                        ],
                                                        "id": 1313,
                                                        "name": "UnaryOperation",
                                                        "src": "12340:3:7"
                                                    }
                                                ],
                                                "id": 1314,
                                                "name": "ExpressionStatement",
                                                "src": "12340:3:7"
                                            },
                                            {
                                                "children": [
                                                    {
                                                        "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": "datetime",
                                                                            "referencedDeclaration": 363,
                                                                            "type": "uint256"
                                                                        },
                                                                        "children": [
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "isConstant": false,
                                                                                    "isLValue": true,
                                                                                    "isPure": false,
                                                                                    "lValueRequested": false,
                                                                                    "type": "struct IVault.transaction storage ref"
                                                                                },
                                                                                "children": [
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "isConstant": false,
                                                                                            "isLValue": true,
                                                                                            "isPure": false,
                                                                                            "lValueRequested": false,
                                                                                            "type": "struct IVault.transaction storage ref[] storage ref"
                                                                                        },
                                                                                        "children": [
                                                                                            {
                                                                                                "attributes": {
                                                                                                    "argumentTypes": null,
                                                                                                    "overloadedDeclarations": [
                                                                                                        null
                                                                                                    ],
                                                                                                    "referencedDeclaration": 614,
                                                                                                    "type": "mapping(bytes32 => struct IVault.transaction storage ref[] storage ref)",
                                                                                                    "value": "transactions"
                                                                                                },
                                                                                                "id": 1315,
                                                                                                "name": "Identifier",
                                                                                                "src": "12362:12:7"
                                                                                            },
                                                                                            {
                                                                                                "attributes": {
                                                                                                    "argumentTypes": null,
                                                                                                    "overloadedDeclarations": [
                                                                                                        null
                                                                                                    ],
                                                                                                    "referencedDeclaration": 1267,
                                                                                                    "type": "bytes32",
                                                                                                    "value": "_creator"
                                                                                                },
                                                                                                "id": 1316,
                                                                                                "name": "Identifier",
                                                                                                "src": "12375:8:7"
                                                                                            }
                                                                                        ],
                                                                                        "id": 1317,
                                                                                        "name": "IndexAccess",
                                                                                        "src": "12362:22:7"
                                                                                    },
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "overloadedDeclarations": [
                                                                                                null
                                                                                            ],
                                                                                            "referencedDeclaration": 1303,
                                                                                            "type": "uint256",
                                                                                            "value": "i"
                                                                                        },
                                                                                        "id": 1318,
                                                                                        "name": "Identifier",
                                                                                        "src": "12385:1:7"
                                                                                    }
                                                                                ],
                                                                                "id": 1319,
                                                                                "name": "IndexAccess",
                                                                                "src": "12362:25:7"
                                                                            }
                                                                        ],
                                                                        "id": 1320,
                                                                        "name": "MemberAccess",
                                                                        "src": "12362:34:7"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 1273,
                                                                            "type": "uint256",
                                                                            "value": "_tx"
                                                                        },
                                                                        "id": 1321,
                                                                        "name": "Identifier",
                                                                        "src": "12398:3:7"
                                                                    }
                                                                ],
                                                                "id": 1322,
                                                                "name": "BinaryOperation",
                                                                "src": "12362:39:7"
                                                            },
                                                            {
                                                                "children": [
                                                                    {
                                                                        "children": [
                                                                            {
                                                                                "attributes": {
                                                                                    "assignments": [
                                                                                        1324
                                                                                    ]
                                                                                },
                                                                                "children": [
                                                                                    {
                                                                                        "attributes": {
                                                                                            "constant": false,
                                                                                            "name": "j",
                                                                                            "scope": 1376,
                                                                                            "stateVariable": false,
                                                                                            "storageLocation": "default",
                                                                                            "type": "uint256",
                                                                                            "value": null,
                                                                                            "visibility": "internal"
                                                                                        },
                                                                                        "children": [
                                                                                            {
                                                                                                "attributes": {
                                                                                                    "name": "uint",
                                                                                                    "type": "uint256"
                                                                                                },
                                                                                                "id": 1323,
                                                                                                "name": "ElementaryTypeName",
                                                                                                "src": "12425:4:7"
                                                                                            }
                                                                                        ],
                                                                                        "id": 1324,
                                                                                        "name": "VariableDeclaration",
                                                                                        "src": "12425:6:7"
                                                                                    },
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "hexvalue": "30",
                                                                                            "isConstant": false,
                                                                                            "isLValue": false,
                                                                                            "isPure": true,
                                                                                            "lValueRequested": false,
                                                                                            "subdenomination": null,
                                                                                            "token": "number",
                                                                                            "type": "int_const 0",
                                                                                            "value": "0"
                                                                                        },
                                                                                        "id": 1325,
                                                                                        "name": "Literal",
                                                                                        "src": "12432:1:7"
                                                                                    }
                                                                                ],
                                                                                "id": 1326,
                                                                                "name": "VariableDeclarationStatement",
                                                                                "src": "12425:8:7"
                                                                            },
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "commonType": {
                                                                                        "typeIdentifier": "t_uint256",
                                                                                        "typeString": "uint256"
                                                                                    },
                                                                                    "isConstant": false,
                                                                                    "isLValue": false,
                                                                                    "isPure": false,
                                                                                    "lValueRequested": false,
                                                                                    "operator": "<",
                                                                                    "type": "bool"
                                                                                },
                                                                                "children": [
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "overloadedDeclarations": [
                                                                                                null
                                                                                            ],
                                                                                            "referencedDeclaration": 1324,
                                                                                            "type": "uint256",
                                                                                            "value": "j"
                                                                                        },
                                                                                        "id": 1327,
                                                                                        "name": "Identifier",
                                                                                        "src": "12435:1:7"
                                                                                    },
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "isConstant": false,
                                                                                            "isLValue": true,
                                                                                            "isPure": false,
                                                                                            "lValueRequested": false,
                                                                                            "member_name": "length",
                                                                                            "referencedDeclaration": null,
                                                                                            "type": "uint256"
                                                                                        },
                                                                                        "children": [
                                                                                            {
                                                                                                "attributes": {
                                                                                                    "argumentTypes": null,
                                                                                                    "isConstant": false,
                                                                                                    "isLValue": true,
                                                                                                    "isPure": false,
                                                                                                    "lValueRequested": false,
                                                                                                    "member_name": "cosigners",
                                                                                                    "referencedDeclaration": 366,
                                                                                                    "type": "bytes32[] storage ref"
                                                                                                },
                                                                                                "children": [
                                                                                                    {
                                                                                                        "attributes": {
                                                                                                            "argumentTypes": null,
                                                                                                            "isConstant": false,
                                                                                                            "isLValue": true,
                                                                                                            "isPure": false,
                                                                                                            "lValueRequested": false,
                                                                                                            "type": "struct IVault.transaction storage ref"
                                                                                                        },
                                                                                                        "children": [
                                                                                                            {
                                                                                                                "attributes": {
                                                                                                                    "argumentTypes": null,
                                                                                                                    "isConstant": false,
                                                                                                                    "isLValue": true,
                                                                                                                    "isPure": false,
                                                                                                                    "lValueRequested": false,
                                                                                                                    "type": "struct IVault.transaction storage ref[] storage ref"
                                                                                                                },
                                                                                                                "children": [
                                                                                                                    {
                                                                                                                        "attributes": {
                                                                                                                            "argumentTypes": null,
                                                                                                                            "overloadedDeclarations": [
                                                                                                                                null
                                                                                                                            ],
                                                                                                                            "referencedDeclaration": 614,
                                                                                                                            "type": "mapping(bytes32 => struct IVault.transaction storage ref[] storage ref)",
                                                                                                                            "value": "transactions"
                                                                                                                        },
                                                                                                                        "id": 1328,
                                                                                                                        "name": "Identifier",
                                                                                                                        "src": "12437:12:7"
                                                                                                                    },
                                                                                                                    {
                                                                                                                        "attributes": {
                                                                                                                            "argumentTypes": null,
                                                                                                                            "overloadedDeclarations": [
                                                                                                                                null
                                                                                                                            ],
                                                                                                                            "referencedDeclaration": 1267,
                                                                                                                            "type": "bytes32",
                                                                                                                            "value": "_creator"
                                                                                                                        },
                                                                                                                        "id": 1329,
                                                                                                                        "name": "Identifier",
                                                                                                                        "src": "12450:8:7"
                                                                                                                    }
                                                                                                                ],
                                                                                                                "id": 1330,
                                                                                                                "name": "IndexAccess",
                                                                                                                "src": "12437:22:7"
                                                                                                            },
                                                                                                            {
                                                                                                                "attributes": {
                                                                                                                    "argumentTypes": null,
                                                                                                                    "overloadedDeclarations": [
                                                                                                                        null
                                                                                                                    ],
                                                                                                                    "referencedDeclaration": 1303,
                                                                                                                    "type": "uint256",
                                                                                                                    "value": "i"
                                                                                                                },
                                                                                                                "id": 1331,
                                                                                                                "name": "Identifier",
                                                                                                                "src": "12460:1:7"
                                                                                                            }
                                                                                                        ],
                                                                                                        "id": 1332,
                                                                                                        "name": "IndexAccess",
                                                                                                        "src": "12437:25:7"
                                                                                                    }
                                                                                                ],
                                                                                                "id": 1333,
                                                                                                "name": "MemberAccess",
                                                                                                "src": "12437:35:7"
                                                                                            }
                                                                                        ],
                                                                                        "id": 1334,
                                                                                        "name": "MemberAccess",
                                                                                        "src": "12437:42:7"
                                                                                    }
                                                                                ],
                                                                                "id": 1335,
                                                                                "name": "BinaryOperation",
                                                                                "src": "12435:44:7"
                                                                            },
                                                                            {
                                                                                "children": [
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "isConstant": false,
                                                                                            "isLValue": false,
                                                                                            "isPure": false,
                                                                                            "lValueRequested": false,
                                                                                            "operator": "++",
                                                                                            "prefix": false,
                                                                                            "type": "uint256"
                                                                                        },
                                                                                        "children": [
                                                                                            {
                                                                                                "attributes": {
                                                                                                    "argumentTypes": null,
                                                                                                    "overloadedDeclarations": [
                                                                                                        null
                                                                                                    ],
                                                                                                    "referencedDeclaration": 1324,
                                                                                                    "type": "uint256",
                                                                                                    "value": "j"
                                                                                                },
                                                                                                "id": 1336,
                                                                                                "name": "Identifier",
                                                                                                "src": "12481:1:7"
                                                                                            }
                                                                                        ],
                                                                                        "id": 1337,
                                                                                        "name": "UnaryOperation",
                                                                                        "src": "12481:3:7"
                                                                                    }
                                                                                ],
                                                                                "id": 1338,
                                                                                "name": "ExpressionStatement",
                                                                                "src": "12481:3:7"
                                                                            },
                                                                            {
                                                                                "children": [
                                                                                    {
                                                                                        "attributes": {
                                                                                            "falseBody": null
                                                                                        },
                                                                                        "children": [
                                                                                            {
                                                                                                "attributes": {
                                                                                                    "argumentTypes": null,
                                                                                                    "commonType": {
                                                                                                        "typeIdentifier": "t_bytes32",
                                                                                                        "typeString": "bytes32"
                                                                                                    },
                                                                                                    "isConstant": false,
                                                                                                    "isLValue": false,
                                                                                                    "isPure": false,
                                                                                                    "lValueRequested": false,
                                                                                                    "operator": "==",
                                                                                                    "type": "bool"
                                                                                                },
                                                                                                "children": [
                                                                                                    {
                                                                                                        "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": "cosigners",
                                                                                                                    "referencedDeclaration": 366,
                                                                                                                    "type": "bytes32[] storage ref"
                                                                                                                },
                                                                                                                "children": [
                                                                                                                    {
                                                                                                                        "attributes": {
                                                                                                                            "argumentTypes": null,
                                                                                                                            "isConstant": false,
                                                                                                                            "isLValue": true,
                                                                                                                            "isPure": false,
                                                                                                                            "lValueRequested": false,
                                                                                                                            "type": "struct IVault.transaction storage ref"
                                                                                                                        },
                                                                                                                        "children": [
                                                                                                                            {
                                                                                                                                "attributes": {
                                                                                                                                    "argumentTypes": null,
                                                                                                                                    "isConstant": false,
                                                                                                                                    "isLValue": true,
                                                                                                                                    "isPure": false,
                                                                                                                                    "lValueRequested": false,
                                                                                                                                    "type": "struct IVault.transaction storage ref[] storage ref"
                                                                                                                                },
                                                                                                                                "children": [
                                                                                                                                    {
                                                                                                                                        "attributes": {
                                                                                                                                            "argumentTypes": null,
                                                                                                                                            "overloadedDeclarations": [
                                                                                                                                                null
                                                                                                                                            ],
                                                                                                                                            "referencedDeclaration": 614,
                                                                                                                                            "type": "mapping(bytes32 => struct IVault.transaction storage ref[] storage ref)",
                                                                                                                                            "value": "transactions"
                                                                                                                                        },
                                                                                                                                        "id": 1339,
                                                                                                                                        "name": "Identifier",
                                                                                                                                        "src": "12511:12:7"
                                                                                                                                    },
                                                                                                                                    {
                                                                                                                                        "attributes": {
                                                                                                                                            "argumentTypes": null,
                                                                                                                                            "overloadedDeclarations": [
                                                                                                                                                null
                                                                                                                                            ],
                                                                                                                                            "referencedDeclaration": 1267,
                                                                                                                                            "type": "bytes32",
                                                                                                                                            "value": "_creator"
                                                                                                                                        },
                                                                                                                                        "id": 1340,
                                                                                                                                        "name": "Identifier",
                                                                                                                                        "src": "12524:8:7"
                                                                                                                                    }
                                                                                                                                ],
                                                                                                                                "id": 1341,
                                                                                                                                "name": "IndexAccess",
                                                                                                                                "src": "12511:22:7"
                                                                                                                            },
                                                                                                                            {
                                                                                                                                "attributes": {
                                                                                                                                    "argumentTypes": null,
                                                                                                                                    "overloadedDeclarations": [
                                                                                                                                        null
                                                                                                                                    ],
                                                                                                                                    "referencedDeclaration": 1303,
                                                                                                                                    "type": "uint256",
                                                                                                                                    "value": "i"
                                                                                                                                },
                                                                                                                                "id": 1342,
                                                                                                                                "name": "Identifier",
                                                                                                                                "src": "12534:1:7"
                                                                                                                            }
                                                                                                                        ],
                                                                                                                        "id": 1343,
                                                                                                                        "name": "IndexAccess",
                                                                                                                        "src": "12511:25:7"
                                                                                                                    }
                                                                                                                ],
                                                                                                                "id": 1344,
                                                                                                                "name": "MemberAccess",
                                                                                                                "src": "12511:35:7"
                                                                                                            },
                                                                                                            {
                                                                                                                "attributes": {
                                                                                                                    "argumentTypes": null,
                                                                                                                    "overloadedDeclarations": [
                                                                                                                        null
                                                                                                                    ],
                                                                                                                    "referencedDeclaration": 1324,
                                                                                                                    "type": "uint256",
                                                                                                                    "value": "j"
                                                                                                                },
                                                                                                                "id": 1345,
                                                                                                                "name": "Identifier",
                                                                                                                "src": "12547:1:7"
                                                                                                            }
                                                                                                        ],
                                                                                                        "id": 1346,
                                                                                                        "name": "IndexAccess",
                                                                                                        "src": "12511:38:7"
                                                                                                    },
                                                                                                    {
                                                                                                        "attributes": {
                                                                                                            "argumentTypes": null,
                                                                                                            "overloadedDeclarations": [
                                                                                                                null
                                                                                                            ],
                                                                                                            "referencedDeclaration": 1271,
                                                                                                            "type": "bytes32",
                                                                                                            "value": "_participant"
                                                                                                        },
                                                                                                        "id": 1347,
                                                                                                        "name": "Identifier",
                                                                                                        "src": "12551:12:7"
                                                                                                    }
                                                                                                ],
                                                                                                "id": 1348,
                                                                                                "name": "BinaryOperation",
                                                                                                "src": "12511:52:7"
                                                                                            },
                                                                                            {
                                                                                                "id": 1349,
                                                                                                "name": "Break",
                                                                                                "src": "12590:5:7"
                                                                                            }
                                                                                        ],
                                                                                        "id": 1350,
                                                                                        "name": "IfStatement",
                                                                                        "src": "12508:87:7"
                                                                                    },
                                                                                    {
                                                                                        "attributes": {
                                                                                            "falseBody": null
                                                                                        },
                                                                                        "children": [
                                                                                            {
                                                                                                "attributes": {
                                                                                                    "argumentTypes": null,
                                                                                                    "commonType": {
                                                                                                        "typeIdentifier": "t_bytes32",
                                                                                                        "typeString": "bytes32"
                                                                                                    },
                                                                                                    "isConstant": false,
                                                                                                    "isLValue": false,
                                                                                                    "isPure": false,
                                                                                                    "lValueRequested": false,
                                                                                                    "operator": "==",
                                                                                                    "type": "bool"
                                                                                                },
                                                                                                "children": [
                                                                                                    {
                                                                                                        "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": "cosigners",
                                                                                                                    "referencedDeclaration": 366,
                                                                                                                    "type": "bytes32[] storage ref"
                                                                                                                },
                                                                                                                "children": [
                                                                                                                    {
                                                                                                                        "attributes": {
                                                                                                                            "argumentTypes": null,
                                                                                                                            "isConstant": false,
                                                                                                                            "isLValue": true,
                                                                                                                            "isPure": false,
                                                                                                                            "lValueRequested": false,
                                                                                                                            "type": "struct IVault.transaction storage ref"
                                                                                                                        },
                                                                                                                        "children": [
                                                                                                                            {
                                                                                                                                "attributes": {
                                                                                                                                    "argumentTypes": null,
                                                                                                                                    "isConstant": false,
                                                                                                                                    "isLValue": true,
                                                                                                                                    "isPure": false,
                                                                                                                                    "lValueRequested": false,
                                                                                                                                    "type": "struct IVault.transaction storage ref[] storage ref"
                                                                                                                                },
                                                                                                                                "children": [
                                                                                                                                    {
                                                                                                                                        "attributes": {
                                                                                                                                            "argumentTypes": null,
                                                                                                                                            "overloadedDeclarations": [
                                                                                                                                                null
                                                                                                                                            ],
                                                                                                                                            "referencedDeclaration": 614,
                                                                                                                                            "type": "mapping(bytes32 => struct IVault.transaction storage ref[] storage ref)",
                                                                                                                                            "value": "transactions"
                                                                                                                                        },
                                                                                                                                        "id": 1351,
                                                                                                                                        "name": "Identifier",
                                                                                                                                        "src": "12621:12:7"
                                                                                                                                    },
                                                                                                                                    {
                                                                                                                                        "attributes": {
                                                                                                                                            "argumentTypes": null,
                                                                                                                                            "overloadedDeclarations": [
                                                                                                                                                null
                                                                                                                                            ],
                                                                                                                                            "referencedDeclaration": 1267,
                                                                                                                                            "type": "bytes32",
                                                                                                                                            "value": "_creator"
                                                                                                                                        },
                                                                                                                                        "id": 1352,
                                                                                                                                        "name": "Identifier",
                                                                                                                                        "src": "12634:8:7"
                                                                                                                                    }
                                                                                                                                ],
                                                                                                                                "id": 1353,
                                                                                                                                "name": "IndexAccess",
                                                                                                                                "src": "12621:22:7"
                                                                                                                            },
                                                                                                                            {
                                                                                                                                "attributes": {
                                                                                                                                    "argumentTypes": null,
                                                                                                                                    "overloadedDeclarations": [
                                                                                                                                        null
                                                                                                                                    ],
                                                                                                                                    "referencedDeclaration": 1303,
                                                                                                                                    "type": "uint256",
                                                                                                                                    "value": "i"
                                                                                                                                },
                                                                                                                                "id": 1354,
                                                                                                                                "name": "Identifier",
                                                                                                                                "src": "12644:1:7"
                                                                                                                            }
                                                                                                                        ],
                                                                                                                        "id": 1355,
                                                                                                                        "name": "IndexAccess",
                                                                                                                        "src": "12621:25:7"
                                                                                                                    }
                                                                                                                ],
                                                                                                                "id": 1356,
                                                                                                                "name": "MemberAccess",
                                                                                                                "src": "12621:35:7"
                                                                                                            },
                                                                                                            {
                                                                                                                "attributes": {
                                                                                                                    "argumentTypes": null,
                                                                                                                    "overloadedDeclarations": [
                                                                                                                        null
                                                                                                                    ],
                                                                                                                    "referencedDeclaration": 1324,
                                                                                                                    "type": "uint256",
                                                                                                                    "value": "j"
                                                                                                                },
                                                                                                                "id": 1357,
                                                                                                                "name": "Identifier",
                                                                                                                "src": "12657:1:7"
                                                                                                            }
                                                                                                        ],
                                                                                                        "id": 1358,
                                                                                                        "name": "IndexAccess",
                                                                                                        "src": "12621:38:7"
                                                                                                    },
                                                                                                    {
                                                                                                        "attributes": {
                                                                                                            "argumentTypes": null,
                                                                                                            "hexvalue": "",
                                                                                                            "isConstant": false,
                                                                                                            "isLValue": false,
                                                                                                            "isPure": true,
                                                                                                            "lValueRequested": false,
                                                                                                            "subdenomination": null,
                                                                                                            "token": "string",
                                                                                                            "type": "literal_string \"\"",
                                                                                                            "value": ""
                                                                                                        },
                                                                                                        "id": 1359,
                                                                                                        "name": "Literal",
                                                                                                        "src": "12661:2:7"
                                                                                                    }
                                                                                                ],
                                                                                                "id": 1360,
                                                                                                "name": "BinaryOperation",
                                                                                                "src": "12621:42:7"
                                                                                            },
                                                                                            {
                                                                                                "children": [
                                                                                                    {
                                                                                                        "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": "cosigners",
                                                                                                                                    "referencedDeclaration": 366,
                                                                                                                                    "type": "bytes32[] storage ref"
                                                                                                                                },
                                                                                                                                "children": [
                                                                                                                                    {
                                                                                                                                        "attributes": {
                                                                                                                                            "argumentTypes": null,
                                                                                                                                            "isConstant": false,
                                                                                                                                            "isLValue": true,
                                                                                                                                            "isPure": false,
                                                                                                                                            "lValueRequested": false,
                                                                                                                                            "type": "struct IVault.transaction storage ref"
                                                                                                                                        },
                                                                                                                                        "children": [
                                                                                                                                            {
                                                                                                                                                "attributes": {
                                                                                                                                                    "argumentTypes": null,
                                                                                                                                                    "isConstant": false,
                                                                                                                                                    "isLValue": true,
                                                                                                                                                    "isPure": false,
                                                                                                                                                    "lValueRequested": false,
                                                                                                                                                    "type": "struct IVault.transaction storage ref[] storage ref"
                                                                                                                                                },
                                                                                                                                                "children": [
                                                                                                                                                    {
                                                                                                                                                        "attributes": {
                                                                                                                                                            "argumentTypes": null,
                                                                                                                                                            "overloadedDeclarations": [
                                                                                                                                                                null
                                                                                                                                                            ],
                                                                                                                                                            "referencedDeclaration": 614,
                                                                                                                                                            "type": "mapping(bytes32 => struct IVault.transaction storage ref[] storage ref)",
                                                                                                                                                            "value": "transactions"
                                                                                                                                                        },
                                                                                                                                                        "id": 1361,
                                                                                                                                                        "name": "Identifier",
                                                                                                                                                        "src": "12691:12:7"
                                                                                                                                                    },
                                                                                                                                                    {
                                                                                                                                                        "attributes": {
                                                                                                                                                            "argumentTypes": null,
                                                                                                                                                            "overloadedDeclarations": [
                                                                                                                                                                null
                                                                                                                                                            ],
                                                                                                                                                            "referencedDeclaration": 1267,
                                                                                                                                                            "type": "bytes32",
                                                                                                                                                            "value": "_creator"
                                                                                                                                                        },
                                                                                                                                                        "id": 1362,
                                                                                                                                                        "name": "Identifier",
                                                                                                                                                        "src": "12704:8:7"
                                                                                                                                                    }
                                                                                                                                                ],
                                                                                                                                                "id": 1364,
                                                                                                                                                "name": "IndexAccess",
                                                                                                                                                "src": "12691:22:7"
                                                                                                                                            },
                                                                                                                                            {
                                                                                                                                                "attributes": {
                                                                                                                                                    "argumentTypes": null,
                                                                                                                                                    "overloadedDeclarations": [
                                                                                                                                                        null
                                                                                                                                                    ],
                                                                                                                                                    "referencedDeclaration": 1303,
                                                                                                                                                    "type": "uint256",
                                                                                                                                                    "value": "i"
                                                                                                                                                },
                                                                                                                                                "id": 1363,
                                                                                                                                                "name": "Identifier",
                                                                                                                                                "src": "12714:1:7"
                                                                                                                                            }
                                                                                                                                        ],
                                                                                                                                        "id": 1365,
                                                                                                                                        "name": "IndexAccess",
                                                                                                                                        "src": "12691:25:7"
                                                                                                                                    }
                                                                                                                                ],
                                                                                                                                "id": 1366,
                                                                                                                                "name": "MemberAccess",
                                                                                                                                "src": "12691:35:7"
                                                                                                                            },
                                                                                                                            {
                                                                                                                                "attributes": {
                                                                                                                                    "argumentTypes": null,
                                                                                                                                    "overloadedDeclarations": [
                                                                                                                                        null
                                                                                                                                    ],
                                                                                                                                    "referencedDeclaration": 1324,
                                                                                                                                    "type": "uint256",
                                                                                                                                    "value": "j"
                                                                                                                                },
                                                                                                                                "id": 1367,
                                                                                                                                "name": "Identifier",
                                                                                                                                "src": "12727:1:7"
                                                                                                                            }
                                                                                                                        ],
                                                                                                                        "id": 1368,
                                                                                                                        "name": "IndexAccess",
                                                                                                                        "src": "12691:38:7"
                                                                                                                    },
                                                                                                                    {
                                                                                                                        "attributes": {
                                                                                                                            "argumentTypes": null,
                                                                                                                            "overloadedDeclarations": [
                                                                                                                                null
                                                                                                                            ],
                                                                                                                            "referencedDeclaration": 1271,
                                                                                                                            "type": "bytes32",
                                                                                                                            "value": "_participant"
                                                                                                                        },
                                                                                                                        "id": 1369,
                                                                                                                        "name": "Identifier",
                                                                                                                        "src": "12730:12:7"
                                                                                                                    }
                                                                                                                ],
                                                                                                                "id": 1370,
                                                                                                                "name": "Assignment",
                                                                                                                "src": "12691:51:7"
                                                                                                            }
                                                                                                        ],
                                                                                                        "id": 1371,
                                                                                                        "name": "ExpressionStatement",
                                                                                                        "src": "12691:51:7"
                                                                                                    },
                                                                                                    {
                                                                                                        "id": 1372,
                                                                                                        "name": "Break",
                                                                                                        "src": "12769:5:7"
                                                                                                    }
                                                                                                ],
                                                                                                "id": 1373,
                                                                                                "name": "Block",
                                                                                                "src": "12664:134:7"
                                                                                            }
                                                                                        ],
                                                                                        "id": 1374,
                                                                                        "name": "IfStatement",
                                                                                        "src": "12618:180:7"
                                                                                    }
                                                                                ],
                                                                                "id": 1375,
                                                                                "name": "Block",
                                                                                "src": "12485:332:7"
                                                                            }
                                                                        ],
                                                                        "id": 1376,
                                                                        "name": "ForStatement",
                                                                        "src": "12421:396:7"
                                                                    },
                                                                    {
                                                                        "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_bytes32",
                                                                                                    "typeString": "bytes32"
                                                                                                },
                                                                                                {
                                                                                                    "typeIdentifier": "t_bytes32",
                                                                                                    "typeString": "bytes32"
                                                                                                },
                                                                                                {
                                                                                                    "typeIdentifier": "t_uint256",
                                                                                                    "typeString": "uint256"
                                                                                                }
                                                                                            ],
                                                                                            "overloadedDeclarations": [
                                                                                                null
                                                                                            ],
                                                                                            "referencedDeclaration": 636,
                                                                                            "type": "function (bytes32,bytes32,uint256)",
                                                                                            "value": "SignTransaction"
                                                                                        },
                                                                                        "id": 1377,
                                                                                        "name": "Identifier",
                                                                                        "src": "12840:15:7"
                                                                                    },
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "overloadedDeclarations": [
                                                                                                null
                                                                                            ],
                                                                                            "referencedDeclaration": 1267,
                                                                                            "type": "bytes32",
                                                                                            "value": "_creator"
                                                                                        },
                                                                                        "id": 1378,
                                                                                        "name": "Identifier",
                                                                                        "src": "12856:8:7"
                                                                                    },
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "overloadedDeclarations": [
                                                                                                null
                                                                                            ],
                                                                                            "referencedDeclaration": 1271,
                                                                                            "type": "bytes32",
                                                                                            "value": "_participant"
                                                                                        },
                                                                                        "id": 1379,
                                                                                        "name": "Identifier",
                                                                                        "src": "12866:12:7"
                                                                                    },
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "overloadedDeclarations": [
                                                                                                null
                                                                                            ],
                                                                                            "referencedDeclaration": 1273,
                                                                                            "type": "uint256",
                                                                                            "value": "_tx"
                                                                                        },
                                                                                        "id": 1380,
                                                                                        "name": "Identifier",
                                                                                        "src": "12880:3:7"
                                                                                    }
                                                                                ],
                                                                                "id": 1381,
                                                                                "name": "FunctionCall",
                                                                                "src": "12840:44:7"
                                                                            }
                                                                        ],
                                                                        "id": 1382,
                                                                        "name": "EmitStatement",
                                                                        "src": "12835:49:7"
                                                                    }
                                                                ],
                                                                "id": 1383,
                                                                "name": "Block",
                                                                "src": "12402:498:7"
                                                            }
                                                        ],
                                                        "id": 1384,
                                                        "name": "IfStatement",
                                                        "src": "12359:541:7"
                                                    }
                                                ],
                                                "id": 1385,
                                                "name": "Block",
                                                "src": "12344:567:7"
                                            }
                                        ],
                                        "id": 1386,
                                        "name": "ForStatement",
                                        "src": "12293:618:7"
                                    }
                                ],
                                "id": 1387,
                                "name": "Block",
                                "src": "12170:748:7"
                            }
                        ],
                        "id": 1388,
                        "name": "FunctionDefinition",
                        "src": "12010:908:7"
                    },
                    {
                        "attributes": {
                            "documentation": "This function lets the creator check if quorum has been achieved for a particular transaction\r\n@param _creator vault creator's username, eg creator@email.com\r\n@param _id vault creator's unique id using which it can be reached, eg, its Google/APNS token\r\n@param _participant vault participant's username, eg participant@email.com\r\n@param _txid transaction identifier\r",
                            "implemented": true,
                            "isConstructor": false,
                            "kind": "function",
                            "name": "checkQuorum",
                            "scope": 1949,
                            "stateMutability": "view",
                            "superFunction": 476,
                            "visibility": "external"
                        },
                        "children": [
                            {
                                "children": [
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "_creator",
                                            "scope": 1509,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "bytes32",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "bytes32",
                                                    "type": "bytes32"
                                                },
                                                "id": 1389,
                                                "name": "ElementaryTypeName",
                                                "src": "13372:7:7"
                                            }
                                        ],
                                        "id": 1390,
                                        "name": "VariableDeclaration",
                                        "src": "13372:16:7"
                                    },
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "_id",
                                            "scope": 1509,
                                            "stateVariable": false,
                                            "storageLocation": "calldata",
                                            "type": "string",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "string",
                                                    "type": "string"
                                                },
                                                "id": 1391,
                                                "name": "ElementaryTypeName",
                                                "src": "13390:6:7"
                                            }
                                        ],
                                        "id": 1392,
                                        "name": "VariableDeclaration",
                                        "src": "13390:19:7"
                                    },
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "_participant",
                                            "scope": 1509,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "bytes32",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "bytes32",
                                                    "type": "bytes32"
                                                },
                                                "id": 1393,
                                                "name": "ElementaryTypeName",
                                                "src": "13411:7:7"
                                            }
                                        ],
                                        "id": 1394,
                                        "name": "VariableDeclaration",
                                        "src": "13411:20:7"
                                    },
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "_txid",
                                            "scope": 1509,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "uint256",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "uint256",
                                                    "type": "uint256"
                                                },
                                                "id": 1395,
                                                "name": "ElementaryTypeName",
                                                "src": "13433:7:7"
                                            }
                                        ],
                                        "id": 1396,
                                        "name": "VariableDeclaration",
                                        "src": "13433:13:7"
                                    }
                                ],
                                "id": 1397,
                                "name": "ParameterList",
                                "src": "13371:76:7"
                            },
                            {
                                "children": [
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "",
                                            "scope": 1509,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "bool",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "bool",
                                                    "type": "bool"
                                                },
                                                "id": 1402,
                                                "name": "ElementaryTypeName",
                                                "src": "13496:4:7"
                                            }
                                        ],
                                        "id": 1403,
                                        "name": "VariableDeclaration",
                                        "src": "13496:4:7"
                                    }
                                ],
                                "id": 1404,
                                "name": "ParameterList",
                                "src": "13495:6:7"
                            },
                            {
                                "children": [
                                    {
                                        "attributes": {
                                            "argumentTypes": null,
                                            "overloadedDeclarations": [
                                                null
                                            ],
                                            "referencedDeclaration": 695,
                                            "type": "modifier (bytes32,string memory)",
                                            "value": "onlySigner"
                                        },
                                        "id": 1398,
                                        "name": "Identifier",
                                        "src": "13448:10:7"
                                    },
                                    {
                                        "attributes": {
                                            "argumentTypes": null,
                                            "overloadedDeclarations": [
                                                null
                                            ],
                                            "referencedDeclaration": 1390,
                                            "type": "bytes32",
                                            "value": "_creator"
                                        },
                                        "id": 1399,
                                        "name": "Identifier",
                                        "src": "13459:8:7"
                                    },
                                    {
                                        "attributes": {
                                            "argumentTypes": null,
                                            "overloadedDeclarations": [
                                                null
                                            ],
                                            "referencedDeclaration": 1392,
                                            "type": "string calldata",
                                            "value": "_id"
                                        },
                                        "id": 1400,
                                        "name": "Identifier",
                                        "src": "13469:3:7"
                                    }
                                ],
                                "id": 1401,
                                "name": "ModifierInvocation",
                                "src": "13448:25:7"
                            },
                            {
                                "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": [
                                                                3959,
                                                                3960
                                                            ],
                                                            "referencedDeclaration": 3959,
                                                            "type": "function (bool) pure",
                                                            "value": "require"
                                                        },
                                                        "id": 1405,
                                                        "name": "Identifier",
                                                        "src": "13512:7:7"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "commonType": {
                                                                "typeIdentifier": "t_bytes32",
                                                                "typeString": "bytes32"
                                                            },
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "operator": "!=",
                                                            "type": "bool"
                                                        },
                                                        "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_bytes_memory_ptr",
                                                                                    "typeString": "bytes memory"
                                                                                }
                                                                            ],
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 3950,
                                                                            "type": "function (bytes memory) pure returns (bytes32)",
                                                                            "value": "keccak256"
                                                                        },
                                                                        "id": 1406,
                                                                        "name": "Identifier",
                                                                        "src": "13520:9:7"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "isConstant": false,
                                                                            "isLValue": false,
                                                                            "isPure": false,
                                                                            "isStructConstructorCall": false,
                                                                            "lValueRequested": false,
                                                                            "names": [
                                                                                null
                                                                            ],
                                                                            "type": "bytes memory",
                                                                            "type_conversion": false
                                                                        },
                                                                        "children": [
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": [
                                                                                        {
                                                                                            "typeIdentifier": "t_string_storage",
                                                                                            "typeString": "string storage ref"
                                                                                        }
                                                                                    ],
                                                                                    "isConstant": false,
                                                                                    "isLValue": false,
                                                                                    "isPure": true,
                                                                                    "lValueRequested": false,
                                                                                    "member_name": "encodePacked",
                                                                                    "referencedDeclaration": null,
                                                                                    "type": "function () pure returns (bytes memory)"
                                                                                },
                                                                                "children": [
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "overloadedDeclarations": [
                                                                                                null
                                                                                            ],
                                                                                            "referencedDeclaration": 3943,
                                                                                            "type": "abi",
                                                                                            "value": "abi"
                                                                                        },
                                                                                        "id": 1407,
                                                                                        "name": "Identifier",
                                                                                        "src": "13530:3:7"
                                                                                    }
                                                                                ],
                                                                                "id": 1408,
                                                                                "name": "MemberAccess",
                                                                                "src": "13530:16:7"
                                                                            },
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "isConstant": false,
                                                                                    "isLValue": true,
                                                                                    "isPure": false,
                                                                                    "lValueRequested": false,
                                                                                    "type": "string storage ref"
                                                                                },
                                                                                "children": [
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "isConstant": false,
                                                                                            "isLValue": true,
                                                                                            "isPure": false,
                                                                                            "lValueRequested": false,
                                                                                            "type": "mapping(bytes32 => string storage ref)"
                                                                                        },
                                                                                        "children": [
                                                                                            {
                                                                                                "attributes": {
                                                                                                    "argumentTypes": null,
                                                                                                    "overloadedDeclarations": [
                                                                                                        null
                                                                                                    ],
                                                                                                    "referencedDeclaration": 599,
                                                                                                    "type": "mapping(bytes32 => mapping(bytes32 => string storage ref))",
                                                                                                    "value": "pins"
                                                                                                },
                                                                                                "id": 1409,
                                                                                                "name": "Identifier",
                                                                                                "src": "13547:4:7"
                                                                                            },
                                                                                            {
                                                                                                "attributes": {
                                                                                                    "argumentTypes": null,
                                                                                                    "overloadedDeclarations": [
                                                                                                        null
                                                                                                    ],
                                                                                                    "referencedDeclaration": 1390,
                                                                                                    "type": "bytes32",
                                                                                                    "value": "_creator"
                                                                                                },
                                                                                                "id": 1410,
                                                                                                "name": "Identifier",
                                                                                                "src": "13552:8:7"
                                                                                            }
                                                                                        ],
                                                                                        "id": 1411,
                                                                                        "name": "IndexAccess",
                                                                                        "src": "13547:14:7"
                                                                                    },
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "overloadedDeclarations": [
                                                                                                null
                                                                                            ],
                                                                                            "referencedDeclaration": 1394,
                                                                                            "type": "bytes32",
                                                                                            "value": "_participant"
                                                                                        },
                                                                                        "id": 1412,
                                                                                        "name": "Identifier",
                                                                                        "src": "13562:12:7"
                                                                                    }
                                                                                ],
                                                                                "id": 1413,
                                                                                "name": "IndexAccess",
                                                                                "src": "13547:28:7"
                                                                            }
                                                                        ],
                                                                        "id": 1414,
                                                                        "name": "FunctionCall",
                                                                        "src": "13530:46:7"
                                                                    }
                                                                ],
                                                                "id": 1415,
                                                                "name": "FunctionCall",
                                                                "src": "13520:57:7"
                                                            },
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": true,
                                                                    "isStructConstructorCall": false,
                                                                    "lValueRequested": false,
                                                                    "names": [
                                                                        null
                                                                    ],
                                                                    "type": "bytes32",
                                                                    "type_conversion": false
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": [
                                                                                {
                                                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                                                    "typeString": "bytes memory"
                                                                                }
                                                                            ],
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 3950,
                                                                            "type": "function (bytes memory) pure returns (bytes32)",
                                                                            "value": "keccak256"
                                                                        },
                                                                        "id": 1416,
                                                                        "name": "Identifier",
                                                                        "src": "13579:9:7"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "isConstant": false,
                                                                            "isLValue": false,
                                                                            "isPure": true,
                                                                            "isStructConstructorCall": false,
                                                                            "lValueRequested": false,
                                                                            "names": [
                                                                                null
                                                                            ],
                                                                            "type": "bytes memory",
                                                                            "type_conversion": false
                                                                        },
                                                                        "children": [
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": [
                                                                                        {
                                                                                            "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
                                                                                            "typeString": "literal_string \"\""
                                                                                        }
                                                                                    ],
                                                                                    "isConstant": false,
                                                                                    "isLValue": false,
                                                                                    "isPure": true,
                                                                                    "lValueRequested": false,
                                                                                    "member_name": "encodePacked",
                                                                                    "referencedDeclaration": null,
                                                                                    "type": "function () pure returns (bytes memory)"
                                                                                },
                                                                                "children": [
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "overloadedDeclarations": [
                                                                                                null
                                                                                            ],
                                                                                            "referencedDeclaration": 3943,
                                                                                            "type": "abi",
                                                                                            "value": "abi"
                                                                                        },
                                                                                        "id": 1417,
                                                                                        "name": "Identifier",
                                                                                        "src": "13589:3:7"
                                                                                    }
                                                                                ],
                                                                                "id": 1418,
                                                                                "name": "MemberAccess",
                                                                                "src": "13589:16:7"
                                                                            },
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "hexvalue": "",
                                                                                    "isConstant": false,
                                                                                    "isLValue": false,
                                                                                    "isPure": true,
                                                                                    "lValueRequested": false,
                                                                                    "subdenomination": null,
                                                                                    "token": "string",
                                                                                    "type": "literal_string \"\"",
                                                                                    "value": ""
                                                                                },
                                                                                "id": 1419,
                                                                                "name": "Literal",
                                                                                "src": "13606:2:7"
                                                                            }
                                                                        ],
                                                                        "id": 1420,
                                                                        "name": "FunctionCall",
                                                                        "src": "13589:20:7"
                                                                    }
                                                                ],
                                                                "id": 1421,
                                                                "name": "FunctionCall",
                                                                "src": "13579:31:7"
                                                            }
                                                        ],
                                                        "id": 1422,
                                                        "name": "BinaryOperation",
                                                        "src": "13520:90:7"
                                                    }
                                                ],
                                                "id": 1423,
                                                "name": "FunctionCall",
                                                "src": "13512:99:7"
                                            }
                                        ],
                                        "id": 1424,
                                        "name": "ExpressionStatement",
                                        "src": "13512:99:7"
                                    },
                                    {
                                        "attributes": {
                                            "assignments": [
                                                1426
                                            ]
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "constant": false,
                                                    "name": "_quorum",
                                                    "scope": 1508,
                                                    "stateVariable": false,
                                                    "storageLocation": "default",
                                                    "type": "bool",
                                                    "value": null,
                                                    "visibility": "internal"
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "name": "bool",
                                                            "type": "bool"
                                                        },
                                                        "id": 1425,
                                                        "name": "ElementaryTypeName",
                                                        "src": "13622:4:7"
                                                    }
                                                ],
                                                "id": 1426,
                                                "name": "VariableDeclaration",
                                                "src": "13622:12:7"
                                            },
                                            {
                                                "attributes": {
                                                    "argumentTypes": null,
                                                    "hexvalue": "66616c7365",
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "subdenomination": null,
                                                    "token": "bool",
                                                    "type": "bool",
                                                    "value": "false"
                                                },
                                                "id": 1427,
                                                "name": "Literal",
                                                "src": "13637:5:7"
                                            }
                                        ],
                                        "id": 1428,
                                        "name": "VariableDeclarationStatement",
                                        "src": "13622:20:7"
                                    },
                                    {
                                        "children": [
                                            {
                                                "attributes": {
                                                    "assignments": [
                                                        1430
                                                    ]
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "constant": false,
                                                            "name": "i",
                                                            "scope": 1501,
                                                            "stateVariable": false,
                                                            "storageLocation": "default",
                                                            "type": "uint256",
                                                            "value": null,
                                                            "visibility": "internal"
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "name": "uint",
                                                                    "type": "uint256"
                                                                },
                                                                "id": 1429,
                                                                "name": "ElementaryTypeName",
                                                                "src": "13657:4:7"
                                                            }
                                                        ],
                                                        "id": 1430,
                                                        "name": "VariableDeclaration",
                                                        "src": "13657:6:7"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "hexvalue": "30",
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": true,
                                                            "lValueRequested": false,
                                                            "subdenomination": null,
                                                            "token": "number",
                                                            "type": "int_const 0",
                                                            "value": "0"
                                                        },
                                                        "id": 1431,
                                                        "name": "Literal",
                                                        "src": "13664:1:7"
                                                    }
                                                ],
                                                "id": 1432,
                                                "name": "VariableDeclarationStatement",
                                                "src": "13657:8:7"
                                            },
                                            {
                                                "attributes": {
                                                    "argumentTypes": null,
                                                    "commonType": {
                                                        "typeIdentifier": "t_uint256",
                                                        "typeString": "uint256"
                                                    },
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "operator": "<",
                                                    "type": "bool"
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "overloadedDeclarations": [
                                                                null
                                                            ],
                                                            "referencedDeclaration": 1430,
                                                            "type": "uint256",
                                                            "value": "i"
                                                        },
                                                        "id": 1433,
                                                        "name": "Identifier",
                                                        "src": "13667:1:7"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "isConstant": false,
                                                            "isLValue": true,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "member_name": "length",
                                                            "referencedDeclaration": null,
                                                            "type": "uint256"
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "isConstant": false,
                                                                    "isLValue": true,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "type": "struct IVault.transaction storage ref[] storage ref"
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 614,
                                                                            "type": "mapping(bytes32 => struct IVault.transaction storage ref[] storage ref)",
                                                                            "value": "transactions"
                                                                        },
                                                                        "id": 1434,
                                                                        "name": "Identifier",
                                                                        "src": "13669:12:7"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 1390,
                                                                            "type": "bytes32",
                                                                            "value": "_creator"
                                                                        },
                                                                        "id": 1435,
                                                                        "name": "Identifier",
                                                                        "src": "13682:8:7"
                                                                    }
                                                                ],
                                                                "id": 1436,
                                                                "name": "IndexAccess",
                                                                "src": "13669:22:7"
                                                            }
                                                        ],
                                                        "id": 1437,
                                                        "name": "MemberAccess",
                                                        "src": "13669:29:7"
                                                    }
                                                ],
                                                "id": 1438,
                                                "name": "BinaryOperation",
                                                "src": "13667:31:7"
                                            },
                                            {
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "operator": "++",
                                                            "prefix": false,
                                                            "type": "uint256"
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "overloadedDeclarations": [
                                                                        null
                                                                    ],
                                                                    "referencedDeclaration": 1430,
                                                                    "type": "uint256",
                                                                    "value": "i"
                                                                },
                                                                "id": 1439,
                                                                "name": "Identifier",
                                                                "src": "13700:1:7"
                                                            }
                                                        ],
                                                        "id": 1440,
                                                        "name": "UnaryOperation",
                                                        "src": "13700:3:7"
                                                    }
                                                ],
                                                "id": 1441,
                                                "name": "ExpressionStatement",
                                                "src": "13700:3:7"
                                            },
                                            {
                                                "children": [
                                                    {
                                                        "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": "datetime",
                                                                            "referencedDeclaration": 363,
                                                                            "type": "uint256"
                                                                        },
                                                                        "children": [
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "isConstant": false,
                                                                                    "isLValue": true,
                                                                                    "isPure": false,
                                                                                    "lValueRequested": false,
                                                                                    "type": "struct IVault.transaction storage ref"
                                                                                },
                                                                                "children": [
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "isConstant": false,
                                                                                            "isLValue": true,
                                                                                            "isPure": false,
                                                                                            "lValueRequested": false,
                                                                                            "type": "struct IVault.transaction storage ref[] storage ref"
                                                                                        },
                                                                                        "children": [
                                                                                            {
                                                                                                "attributes": {
                                                                                                    "argumentTypes": null,
                                                                                                    "overloadedDeclarations": [
                                                                                                        null
                                                                                                    ],
                                                                                                    "referencedDeclaration": 614,
                                                                                                    "type": "mapping(bytes32 => struct IVault.transaction storage ref[] storage ref)",
                                                                                                    "value": "transactions"
                                                                                                },
                                                                                                "id": 1442,
                                                                                                "name": "Identifier",
                                                                                                "src": "13722:12:7"
                                                                                            },
                                                                                            {
                                                                                                "attributes": {
                                                                                                    "argumentTypes": null,
                                                                                                    "overloadedDeclarations": [
                                                                                                        null
                                                                                                    ],
                                                                                                    "referencedDeclaration": 1390,
                                                                                                    "type": "bytes32",
                                                                                                    "value": "_creator"
                                                                                                },
                                                                                                "id": 1443,
                                                                                                "name": "Identifier",
                                                                                                "src": "13735:8:7"
                                                                                            }
                                                                                        ],
                                                                                        "id": 1444,
                                                                                        "name": "IndexAccess",
                                                                                        "src": "13722:22:7"
                                                                                    },
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "overloadedDeclarations": [
                                                                                                null
                                                                                            ],
                                                                                            "referencedDeclaration": 1430,
                                                                                            "type": "uint256",
                                                                                            "value": "i"
                                                                                        },
                                                                                        "id": 1445,
                                                                                        "name": "Identifier",
                                                                                        "src": "13745:1:7"
                                                                                    }
                                                                                ],
                                                                                "id": 1446,
                                                                                "name": "IndexAccess",
                                                                                "src": "13722:25:7"
                                                                            }
                                                                        ],
                                                                        "id": 1447,
                                                                        "name": "MemberAccess",
                                                                        "src": "13722:34:7"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 1396,
                                                                            "type": "uint256",
                                                                            "value": "_txid"
                                                                        },
                                                                        "id": 1448,
                                                                        "name": "Identifier",
                                                                        "src": "13758:5:7"
                                                                    }
                                                                ],
                                                                "id": 1449,
                                                                "name": "BinaryOperation",
                                                                "src": "13722:41:7"
                                                            },
                                                            {
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "assignments": [
                                                                                1451
                                                                            ]
                                                                        },
                                                                        "children": [
                                                                            {
                                                                                "attributes": {
                                                                                    "constant": false,
                                                                                    "name": "signedCount",
                                                                                    "scope": 1498,
                                                                                    "stateVariable": false,
                                                                                    "storageLocation": "default",
                                                                                    "type": "uint256",
                                                                                    "value": null,
                                                                                    "visibility": "internal"
                                                                                },
                                                                                "children": [
                                                                                    {
                                                                                        "attributes": {
                                                                                            "name": "uint256",
                                                                                            "type": "uint256"
                                                                                        },
                                                                                        "id": 1450,
                                                                                        "name": "ElementaryTypeName",
                                                                                        "src": "13783:7:7"
                                                                                    }
                                                                                ],
                                                                                "id": 1451,
                                                                                "name": "VariableDeclaration",
                                                                                "src": "13783:19:7"
                                                                            },
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "hexvalue": "30",
                                                                                    "isConstant": false,
                                                                                    "isLValue": false,
                                                                                    "isPure": true,
                                                                                    "lValueRequested": false,
                                                                                    "subdenomination": null,
                                                                                    "token": "number",
                                                                                    "type": "int_const 0",
                                                                                    "value": "0"
                                                                                },
                                                                                "id": 1452,
                                                                                "name": "Literal",
                                                                                "src": "13805:1:7"
                                                                            }
                                                                        ],
                                                                        "id": 1453,
                                                                        "name": "VariableDeclarationStatement",
                                                                        "src": "13783:23:7"
                                                                    },
                                                                    {
                                                                        "children": [
                                                                            {
                                                                                "attributes": {
                                                                                    "assignments": [
                                                                                        1455
                                                                                    ]
                                                                                },
                                                                                "children": [
                                                                                    {
                                                                                        "attributes": {
                                                                                            "constant": false,
                                                                                            "name": "j",
                                                                                            "scope": 1486,
                                                                                            "stateVariable": false,
                                                                                            "storageLocation": "default",
                                                                                            "type": "uint256",
                                                                                            "value": null,
                                                                                            "visibility": "internal"
                                                                                        },
                                                                                        "children": [
                                                                                            {
                                                                                                "attributes": {
                                                                                                    "name": "uint256",
                                                                                                    "type": "uint256"
                                                                                                },
                                                                                                "id": 1454,
                                                                                                "name": "ElementaryTypeName",
                                                                                                "src": "13830:7:7"
                                                                                            }
                                                                                        ],
                                                                                        "id": 1455,
                                                                                        "name": "VariableDeclaration",
                                                                                        "src": "13830:9:7"
                                                                                    },
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "hexvalue": "30",
                                                                                            "isConstant": false,
                                                                                            "isLValue": false,
                                                                                            "isPure": true,
                                                                                            "lValueRequested": false,
                                                                                            "subdenomination": null,
                                                                                            "token": "number",
                                                                                            "type": "int_const 0",
                                                                                            "value": "0"
                                                                                        },
                                                                                        "id": 1456,
                                                                                        "name": "Literal",
                                                                                        "src": "13842:1:7"
                                                                                    }
                                                                                ],
                                                                                "id": 1457,
                                                                                "name": "VariableDeclarationStatement",
                                                                                "src": "13830:13:7"
                                                                            },
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "commonType": {
                                                                                        "typeIdentifier": "t_uint256",
                                                                                        "typeString": "uint256"
                                                                                    },
                                                                                    "isConstant": false,
                                                                                    "isLValue": false,
                                                                                    "isPure": false,
                                                                                    "lValueRequested": false,
                                                                                    "operator": "<",
                                                                                    "type": "bool"
                                                                                },
                                                                                "children": [
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "overloadedDeclarations": [
                                                                                                null
                                                                                            ],
                                                                                            "referencedDeclaration": 1455,
                                                                                            "type": "uint256",
                                                                                            "value": "j"
                                                                                        },
                                                                                        "id": 1458,
                                                                                        "name": "Identifier",
                                                                                        "src": "13845:1:7"
                                                                                    },
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "isConstant": false,
                                                                                            "isLValue": true,
                                                                                            "isPure": false,
                                                                                            "lValueRequested": false,
                                                                                            "member_name": "length",
                                                                                            "referencedDeclaration": null,
                                                                                            "type": "uint256"
                                                                                        },
                                                                                        "children": [
                                                                                            {
                                                                                                "attributes": {
                                                                                                    "argumentTypes": null,
                                                                                                    "isConstant": false,
                                                                                                    "isLValue": true,
                                                                                                    "isPure": false,
                                                                                                    "lValueRequested": false,
                                                                                                    "member_name": "cosigners",
                                                                                                    "referencedDeclaration": 366,
                                                                                                    "type": "bytes32[] storage ref"
                                                                                                },
                                                                                                "children": [
                                                                                                    {
                                                                                                        "attributes": {
                                                                                                            "argumentTypes": null,
                                                                                                            "isConstant": false,
                                                                                                            "isLValue": true,
                                                                                                            "isPure": false,
                                                                                                            "lValueRequested": false,
                                                                                                            "type": "struct IVault.transaction storage ref"
                                                                                                        },
                                                                                                        "children": [
                                                                                                            {
                                                                                                                "attributes": {
                                                                                                                    "argumentTypes": null,
                                                                                                                    "isConstant": false,
                                                                                                                    "isLValue": true,
                                                                                                                    "isPure": false,
                                                                                                                    "lValueRequested": false,
                                                                                                                    "type": "struct IVault.transaction storage ref[] storage ref"
                                                                                                                },
                                                                                                                "children": [
                                                                                                                    {
                                                                                                                        "attributes": {
                                                                                                                            "argumentTypes": null,
                                                                                                                            "overloadedDeclarations": [
                                                                                                                                null
                                                                                                                            ],
                                                                                                                            "referencedDeclaration": 614,
                                                                                                                            "type": "mapping(bytes32 => struct IVault.transaction storage ref[] storage ref)",
                                                                                                                            "value": "transactions"
                                                                                                                        },
                                                                                                                        "id": 1459,
                                                                                                                        "name": "Identifier",
                                                                                                                        "src": "13849:12:7"
                                                                                                                    },
                                                                                                                    {
                                                                                                                        "attributes": {
                                                                                                                            "argumentTypes": null,
                                                                                                                            "overloadedDeclarations": [
                                                                                                                                null
                                                                                                                            ],
                                                                                                                            "referencedDeclaration": 1390,
                                                                                                                            "type": "bytes32",
                                                                                                                            "value": "_creator"
                                                                                                                        },
                                                                                                                        "id": 1460,
                                                                                                                        "name": "Identifier",
                                                                                                                        "src": "13862:8:7"
                                                                                                                    }
                                                                                                                ],
                                                                                                                "id": 1461,
                                                                                                                "name": "IndexAccess",
                                                                                                                "src": "13849:22:7"
                                                                                                            },
                                                                                                            {
                                                                                                                "attributes": {
                                                                                                                    "argumentTypes": null,
                                                                                                                    "overloadedDeclarations": [
                                                                                                                        null
                                                                                                                    ],
                                                                                                                    "referencedDeclaration": 1430,
                                                                                                                    "type": "uint256",
                                                                                                                    "value": "i"
                                                                                                                },
                                                                                                                "id": 1462,
                                                                                                                "name": "Identifier",
                                                                                                                "src": "13872:1:7"
                                                                                                            }
                                                                                                        ],
                                                                                                        "id": 1463,
                                                                                                        "name": "IndexAccess",
                                                                                                        "src": "13849:25:7"
                                                                                                    }
                                                                                                ],
                                                                                                "id": 1464,
                                                                                                "name": "MemberAccess",
                                                                                                "src": "13849:35:7"
                                                                                            }
                                                                                        ],
                                                                                        "id": 1465,
                                                                                        "name": "MemberAccess",
                                                                                        "src": "13849:42:7"
                                                                                    }
                                                                                ],
                                                                                "id": 1466,
                                                                                "name": "BinaryOperation",
                                                                                "src": "13845:46:7"
                                                                            },
                                                                            {
                                                                                "children": [
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "isConstant": false,
                                                                                            "isLValue": false,
                                                                                            "isPure": false,
                                                                                            "lValueRequested": false,
                                                                                            "operator": "++",
                                                                                            "prefix": false,
                                                                                            "type": "uint256"
                                                                                        },
                                                                                        "children": [
                                                                                            {
                                                                                                "attributes": {
                                                                                                    "argumentTypes": null,
                                                                                                    "overloadedDeclarations": [
                                                                                                        null
                                                                                                    ],
                                                                                                    "referencedDeclaration": 1455,
                                                                                                    "type": "uint256",
                                                                                                    "value": "j"
                                                                                                },
                                                                                                "id": 1467,
                                                                                                "name": "Identifier",
                                                                                                "src": "13893:1:7"
                                                                                            }
                                                                                        ],
                                                                                        "id": 1468,
                                                                                        "name": "UnaryOperation",
                                                                                        "src": "13893:3:7"
                                                                                    }
                                                                                ],
                                                                                "id": 1469,
                                                                                "name": "ExpressionStatement",
                                                                                "src": "13893:3:7"
                                                                            },
                                                                            {
                                                                                "children": [
                                                                                    {
                                                                                        "attributes": {
                                                                                            "falseBody": null
                                                                                        },
                                                                                        "children": [
                                                                                            {
                                                                                                "attributes": {
                                                                                                    "argumentTypes": null,
                                                                                                    "commonType": {
                                                                                                        "typeIdentifier": "t_bytes32",
                                                                                                        "typeString": "bytes32"
                                                                                                    },
                                                                                                    "isConstant": false,
                                                                                                    "isLValue": false,
                                                                                                    "isPure": false,
                                                                                                    "lValueRequested": false,
                                                                                                    "operator": "!=",
                                                                                                    "type": "bool"
                                                                                                },
                                                                                                "children": [
                                                                                                    {
                                                                                                        "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": "cosigners",
                                                                                                                    "referencedDeclaration": 366,
                                                                                                                    "type": "bytes32[] storage ref"
                                                                                                                },
                                                                                                                "children": [
                                                                                                                    {
                                                                                                                        "attributes": {
                                                                                                                            "argumentTypes": null,
                                                                                                                            "isConstant": false,
                                                                                                                            "isLValue": true,
                                                                                                                            "isPure": false,
                                                                                                                            "lValueRequested": false,
                                                                                                                            "type": "struct IVault.transaction storage ref"
                                                                                                                        },
                                                                                                                        "children": [
                                                                                                                            {
                                                                                                                                "attributes": {
                                                                                                                                    "argumentTypes": null,
                                                                                                                                    "isConstant": false,
                                                                                                                                    "isLValue": true,
                                                                                                                                    "isPure": false,
                                                                                                                                    "lValueRequested": false,
                                                                                                                                    "type": "struct IVault.transaction storage ref[] storage ref"
                                                                                                                                },
                                                                                                                                "children": [
                                                                                                                                    {
                                                                                                                                        "attributes": {
                                                                                                                                            "argumentTypes": null,
                                                                                                                                            "overloadedDeclarations": [
                                                                                                                                                null
                                                                                                                                            ],
                                                                                                                                            "referencedDeclaration": 614,
                                                                                                                                            "type": "mapping(bytes32 => struct IVault.transaction storage ref[] storage ref)",
                                                                                                                                            "value": "transactions"
                                                                                                                                        },
                                                                                                                                        "id": 1470,
                                                                                                                                        "name": "Identifier",
                                                                                                                                        "src": "13925:12:7"
                                                                                                                                    },
                                                                                                                                    {
                                                                                                                                        "attributes": {
                                                                                                                                            "argumentTypes": null,
                                                                                                                                            "overloadedDeclarations": [
                                                                                                                                                null
                                                                                                                                            ],
                                                                                                                                            "referencedDeclaration": 1390,
                                                                                                                                            "type": "bytes32",
                                                                                                                                            "value": "_creator"
                                                                                                                                        },
                                                                                                                                        "id": 1471,
                                                                                                                                        "name": "Identifier",
                                                                                                                                        "src": "13938:8:7"
                                                                                                                                    }
                                                                                                                                ],
                                                                                                                                "id": 1472,
                                                                                                                                "name": "IndexAccess",
                                                                                                                                "src": "13925:22:7"
                                                                                                                            },
                                                                                                                            {
                                                                                                                                "attributes": {
                                                                                                                                    "argumentTypes": null,
                                                                                                                                    "overloadedDeclarations": [
                                                                                                                                        null
                                                                                                                                    ],
                                                                                                                                    "referencedDeclaration": 1430,
                                                                                                                                    "type": "uint256",
                                                                                                                                    "value": "i"
                                                                                                                                },
                                                                                                                                "id": 1473,
                                                                                                                                "name": "Identifier",
                                                                                                                                "src": "13948:1:7"
                                                                                                                            }
                                                                                                                        ],
                                                                                                                        "id": 1474,
                                                                                                                        "name": "IndexAccess",
                                                                                                                        "src": "13925:25:7"
                                                                                                                    }
                                                                                                                ],
                                                                                                                "id": 1475,
                                                                                                                "name": "MemberAccess",
                                                                                                                "src": "13925:35:7"
                                                                                                            },
                                                                                                            {
                                                                                                                "attributes": {
                                                                                                                    "argumentTypes": null,
                                                                                                                    "overloadedDeclarations": [
                                                                                                                        null
                                                                                                                    ],
                                                                                                                    "referencedDeclaration": 1455,
                                                                                                                    "type": "uint256",
                                                                                                                    "value": "j"
                                                                                                                },
                                                                                                                "id": 1476,
                                                                                                                "name": "Identifier",
                                                                                                                "src": "13961:1:7"
                                                                                                            }
                                                                                                        ],
                                                                                                        "id": 1477,
                                                                                                        "name": "IndexAccess",
                                                                                                        "src": "13925:38:7"
                                                                                                    },
                                                                                                    {
                                                                                                        "attributes": {
                                                                                                            "argumentTypes": null,
                                                                                                            "hexvalue": "",
                                                                                                            "isConstant": false,
                                                                                                            "isLValue": false,
                                                                                                            "isPure": true,
                                                                                                            "lValueRequested": false,
                                                                                                            "subdenomination": null,
                                                                                                            "token": "string",
                                                                                                            "type": "literal_string \"\"",
                                                                                                            "value": ""
                                                                                                        },
                                                                                                        "id": 1478,
                                                                                                        "name": "Literal",
                                                                                                        "src": "13967:2:7"
                                                                                                    }
                                                                                                ],
                                                                                                "id": 1479,
                                                                                                "name": "BinaryOperation",
                                                                                                "src": "13925:44:7"
                                                                                            },
                                                                                            {
                                                                                                "children": [
                                                                                                    {
                                                                                                        "children": [
                                                                                                            {
                                                                                                                "attributes": {
                                                                                                                    "argumentTypes": null,
                                                                                                                    "isConstant": false,
                                                                                                                    "isLValue": false,
                                                                                                                    "isPure": false,
                                                                                                                    "lValueRequested": false,
                                                                                                                    "operator": "++",
                                                                                                                    "prefix": false,
                                                                                                                    "type": "uint256"
                                                                                                                },
                                                                                                                "children": [
                                                                                                                    {
                                                                                                                        "attributes": {
                                                                                                                            "argumentTypes": null,
                                                                                                                            "overloadedDeclarations": [
                                                                                                                                null
                                                                                                                            ],
                                                                                                                            "referencedDeclaration": 1451,
                                                                                                                            "type": "uint256",
                                                                                                                            "value": "signedCount"
                                                                                                                        },
                                                                                                                        "id": 1480,
                                                                                                                        "name": "Identifier",
                                                                                                                        "src": "13998:11:7"
                                                                                                                    }
                                                                                                                ],
                                                                                                                "id": 1481,
                                                                                                                "name": "UnaryOperation",
                                                                                                                "src": "13998:13:7"
                                                                                                            }
                                                                                                        ],
                                                                                                        "id": 1482,
                                                                                                        "name": "ExpressionStatement",
                                                                                                        "src": "13998:13:7"
                                                                                                    }
                                                                                                ],
                                                                                                "id": 1483,
                                                                                                "name": "Block",
                                                                                                "src": "13971:64:7"
                                                                                            }
                                                                                        ],
                                                                                        "id": 1484,
                                                                                        "name": "IfStatement",
                                                                                        "src": "13921:114:7"
                                                                                    }
                                                                                ],
                                                                                "id": 1485,
                                                                                "name": "Block",
                                                                                "src": "13898:156:7"
                                                                            }
                                                                        ],
                                                                        "id": 1486,
                                                                        "name": "ForStatement",
                                                                        "src": "13825:229:7"
                                                                    },
                                                                    {
                                                                        "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,
                                                                                            "overloadedDeclarations": [
                                                                                                null
                                                                                            ],
                                                                                            "referencedDeclaration": 1451,
                                                                                            "type": "uint256",
                                                                                            "value": "signedCount"
                                                                                        },
                                                                                        "id": 1487,
                                                                                        "name": "Identifier",
                                                                                        "src": "14076:11:7"
                                                                                    },
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "isConstant": false,
                                                                                            "isLValue": true,
                                                                                            "isPure": false,
                                                                                            "lValueRequested": false,
                                                                                            "type": "uint256"
                                                                                        },
                                                                                        "children": [
                                                                                            {
                                                                                                "attributes": {
                                                                                                    "argumentTypes": null,
                                                                                                    "overloadedDeclarations": [
                                                                                                        null
                                                                                                    ],
                                                                                                    "referencedDeclaration": 609,
                                                                                                    "type": "mapping(bytes32 => uint256)",
                                                                                                    "value": "quorum"
                                                                                                },
                                                                                                "id": 1488,
                                                                                                "name": "Identifier",
                                                                                                "src": "14091:6:7"
                                                                                            },
                                                                                            {
                                                                                                "attributes": {
                                                                                                    "argumentTypes": null,
                                                                                                    "overloadedDeclarations": [
                                                                                                        null
                                                                                                    ],
                                                                                                    "referencedDeclaration": 1390,
                                                                                                    "type": "bytes32",
                                                                                                    "value": "_creator"
                                                                                                },
                                                                                                "id": 1489,
                                                                                                "name": "Identifier",
                                                                                                "src": "14098:8:7"
                                                                                            }
                                                                                        ],
                                                                                        "id": 1490,
                                                                                        "name": "IndexAccess",
                                                                                        "src": "14091:16:7"
                                                                                    }
                                                                                ],
                                                                                "id": 1491,
                                                                                "name": "BinaryOperation",
                                                                                "src": "14076:31:7"
                                                                            },
                                                                            {
                                                                                "children": [
                                                                                    {
                                                                                        "children": [
                                                                                            {
                                                                                                "attributes": {
                                                                                                    "argumentTypes": null,
                                                                                                    "isConstant": false,
                                                                                                    "isLValue": false,
                                                                                                    "isPure": false,
                                                                                                    "lValueRequested": false,
                                                                                                    "operator": "=",
                                                                                                    "type": "bool"
                                                                                                },
                                                                                                "children": [
                                                                                                    {
                                                                                                        "attributes": {
                                                                                                            "argumentTypes": null,
                                                                                                            "overloadedDeclarations": [
                                                                                                                null
                                                                                                            ],
                                                                                                            "referencedDeclaration": 1426,
                                                                                                            "type": "bool",
                                                                                                            "value": "_quorum"
                                                                                                        },
                                                                                                        "id": 1492,
                                                                                                        "name": "Identifier",
                                                                                                        "src": "14132:7:7"
                                                                                                    },
                                                                                                    {
                                                                                                        "attributes": {
                                                                                                            "argumentTypes": null,
                                                                                                            "hexvalue": "74727565",
                                                                                                            "isConstant": false,
                                                                                                            "isLValue": false,
                                                                                                            "isPure": true,
                                                                                                            "lValueRequested": false,
                                                                                                            "subdenomination": null,
                                                                                                            "token": "bool",
                                                                                                            "type": "bool",
                                                                                                            "value": "true"
                                                                                                        },
                                                                                                        "id": 1493,
                                                                                                        "name": "Literal",
                                                                                                        "src": "14142:4:7"
                                                                                                    }
                                                                                                ],
                                                                                                "id": 1494,
                                                                                                "name": "Assignment",
                                                                                                "src": "14132:14:7"
                                                                                            }
                                                                                        ],
                                                                                        "id": 1495,
                                                                                        "name": "ExpressionStatement",
                                                                                        "src": "14132:14:7"
                                                                                    }
                                                                                ],
                                                                                "id": 1496,
                                                                                "name": "Block",
                                                                                "src": "14109:57:7"
                                                                            }
                                                                        ],
                                                                        "id": 1497,
                                                                        "name": "IfStatement",
                                                                        "src": "14072:94:7"
                                                                    }
                                                                ],
                                                                "id": 1498,
                                                                "name": "Block",
                                                                "src": "13764:417:7"
                                                            }
                                                        ],
                                                        "id": 1499,
                                                        "name": "IfStatement",
                                                        "src": "13719:462:7"
                                                    }
                                                ],
                                                "id": 1500,
                                                "name": "Block",
                                                "src": "13704:488:7"
                                            }
                                        ],
                                        "id": 1501,
                                        "name": "ForStatement",
                                        "src": "13653:539:7"
                                    },
                                    {
                                        "children": [
                                            {
                                                "attributes": {
                                                    "argumentTypes": null,
                                                    "overloadedDeclarations": [
                                                        null
                                                    ],
                                                    "referencedDeclaration": 1426,
                                                    "type": "bool",
                                                    "value": "_quorum"
                                                },
                                                "id": 1502,
                                                "name": "Identifier",
                                                "src": "14213:7:7"
                                            },
                                            {
                                                "attributes": {
                                                    "functionReturnParameters": 1404
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "hexvalue": "74727565",
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": true,
                                                            "lValueRequested": false,
                                                            "subdenomination": null,
                                                            "token": "bool",
                                                            "type": "bool",
                                                            "value": "true"
                                                        },
                                                        "id": 1503,
                                                        "name": "Literal",
                                                        "src": "14242:4:7"
                                                    }
                                                ],
                                                "id": 1504,
                                                "name": "Return",
                                                "src": "14235:11:7"
                                            },
                                            {
                                                "attributes": {
                                                    "functionReturnParameters": 1404
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "hexvalue": "66616c7365",
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": true,
                                                            "lValueRequested": false,
                                                            "subdenomination": null,
                                                            "token": "bool",
                                                            "type": "bool",
                                                            "value": "false"
                                                        },
                                                        "id": 1505,
                                                        "name": "Literal",
                                                        "src": "14282:5:7"
                                                    }
                                                ],
                                                "id": 1506,
                                                "name": "Return",
                                                "src": "14275:12:7"
                                            }
                                        ],
                                        "id": 1507,
                                        "name": "IfStatement",
                                        "src": "14210:77:7"
                                    }
                                ],
                                "id": 1508,
                                "name": "Block",
                                "src": "13501:794:7"
                            }
                        ],
                        "id": 1509,
                        "name": "FunctionDefinition",
                        "src": "13351:944:7"
                    },
                    {
                        "attributes": {
                            "documentation": "This function gets the shard for a participant\r\n@param _creator vault creator's username, eg creator@email.com\r\n@param _id vault creator's unique id using which it can be reached, eg, its Google/APNS token\r\n@param _txid transaction identifier \r",
                            "implemented": true,
                            "isConstructor": false,
                            "kind": "function",
                            "name": "getShards",
                            "scope": 1949,
                            "stateMutability": "view",
                            "superFunction": 488,
                            "visibility": "external"
                        },
                        "children": [
                            {
                                "children": [
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "_creator",
                                            "scope": 1617,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "bytes32",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "bytes32",
                                                    "type": "bytes32"
                                                },
                                                "id": 1510,
                                                "name": "ElementaryTypeName",
                                                "src": "14621:7:7"
                                            }
                                        ],
                                        "id": 1511,
                                        "name": "VariableDeclaration",
                                        "src": "14621:16:7"
                                    },
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "_id",
                                            "scope": 1617,
                                            "stateVariable": false,
                                            "storageLocation": "calldata",
                                            "type": "string",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "string",
                                                    "type": "string"
                                                },
                                                "id": 1512,
                                                "name": "ElementaryTypeName",
                                                "src": "14639:6:7"
                                            }
                                        ],
                                        "id": 1513,
                                        "name": "VariableDeclaration",
                                        "src": "14639:19:7"
                                    },
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "_txid",
                                            "scope": 1617,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "uint256",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "uint256",
                                                    "type": "uint256"
                                                },
                                                "id": 1514,
                                                "name": "ElementaryTypeName",
                                                "src": "14660:7:7"
                                            }
                                        ],
                                        "id": 1515,
                                        "name": "VariableDeclaration",
                                        "src": "14660:13:7"
                                    }
                                ],
                                "id": 1516,
                                "name": "ParameterList",
                                "src": "14620:54:7"
                            },
                            {
                                "children": [
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "",
                                            "scope": 1617,
                                            "stateVariable": false,
                                            "storageLocation": "memory",
                                            "type": "string[]",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "length": null,
                                                    "type": "string[]"
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "name": "string",
                                                            "type": "string"
                                                        },
                                                        "id": 1521,
                                                        "name": "ElementaryTypeName",
                                                        "src": "14723:6:7"
                                                    }
                                                ],
                                                "id": 1522,
                                                "name": "ArrayTypeName",
                                                "src": "14723:8:7"
                                            }
                                        ],
                                        "id": 1523,
                                        "name": "VariableDeclaration",
                                        "src": "14723:15:7"
                                    }
                                ],
                                "id": 1524,
                                "name": "ParameterList",
                                "src": "14722:17:7"
                            },
                            {
                                "children": [
                                    {
                                        "attributes": {
                                            "argumentTypes": null,
                                            "overloadedDeclarations": [
                                                null
                                            ],
                                            "referencedDeclaration": 695,
                                            "type": "modifier (bytes32,string memory)",
                                            "value": "onlySigner"
                                        },
                                        "id": 1517,
                                        "name": "Identifier",
                                        "src": "14675:10:7"
                                    },
                                    {
                                        "attributes": {
                                            "argumentTypes": null,
                                            "overloadedDeclarations": [
                                                null
                                            ],
                                            "referencedDeclaration": 1511,
                                            "type": "bytes32",
                                            "value": "_creator"
                                        },
                                        "id": 1518,
                                        "name": "Identifier",
                                        "src": "14686:8:7"
                                    },
                                    {
                                        "attributes": {
                                            "argumentTypes": null,
                                            "overloadedDeclarations": [
                                                null
                                            ],
                                            "referencedDeclaration": 1513,
                                            "type": "string calldata",
                                            "value": "_id"
                                        },
                                        "id": 1519,
                                        "name": "Identifier",
                                        "src": "14696:3:7"
                                    }
                                ],
                                "id": 1520,
                                "name": "ModifierInvocation",
                                "src": "14675:25:7"
                            },
                            {
                                "children": [
                                    {
                                        "children": [
                                            {
                                                "attributes": {
                                                    "assignments": [
                                                        1526
                                                    ]
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "constant": false,
                                                            "name": "i",
                                                            "scope": 1615,
                                                            "stateVariable": false,
                                                            "storageLocation": "default",
                                                            "type": "uint256",
                                                            "value": null,
                                                            "visibility": "internal"
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "name": "uint",
                                                                    "type": "uint256"
                                                                },
                                                                "id": 1525,
                                                                "name": "ElementaryTypeName",
                                                                "src": "14754:4:7"
                                                            }
                                                        ],
                                                        "id": 1526,
                                                        "name": "VariableDeclaration",
                                                        "src": "14754:6:7"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "hexvalue": "30",
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": true,
                                                            "lValueRequested": false,
                                                            "subdenomination": null,
                                                            "token": "number",
                                                            "type": "int_const 0",
                                                            "value": "0"
                                                        },
                                                        "id": 1527,
                                                        "name": "Literal",
                                                        "src": "14761:1:7"
                                                    }
                                                ],
                                                "id": 1528,
                                                "name": "VariableDeclarationStatement",
                                                "src": "14754:8:7"
                                            },
                                            {
                                                "attributes": {
                                                    "argumentTypes": null,
                                                    "commonType": {
                                                        "typeIdentifier": "t_uint256",
                                                        "typeString": "uint256"
                                                    },
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "operator": "<",
                                                    "type": "bool"
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "overloadedDeclarations": [
                                                                null
                                                            ],
                                                            "referencedDeclaration": 1526,
                                                            "type": "uint256",
                                                            "value": "i"
                                                        },
                                                        "id": 1529,
                                                        "name": "Identifier",
                                                        "src": "14764:1:7"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "isConstant": false,
                                                            "isLValue": true,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "member_name": "length",
                                                            "referencedDeclaration": null,
                                                            "type": "uint256"
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "isConstant": false,
                                                                    "isLValue": true,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "type": "struct IVault.transaction storage ref[] storage ref"
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 614,
                                                                            "type": "mapping(bytes32 => struct IVault.transaction storage ref[] storage ref)",
                                                                            "value": "transactions"
                                                                        },
                                                                        "id": 1530,
                                                                        "name": "Identifier",
                                                                        "src": "14766:12:7"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 1511,
                                                                            "type": "bytes32",
                                                                            "value": "_creator"
                                                                        },
                                                                        "id": 1531,
                                                                        "name": "Identifier",
                                                                        "src": "14779:8:7"
                                                                    }
                                                                ],
                                                                "id": 1532,
                                                                "name": "IndexAccess",
                                                                "src": "14766:22:7"
                                                            }
                                                        ],
                                                        "id": 1533,
                                                        "name": "MemberAccess",
                                                        "src": "14766:29:7"
                                                    }
                                                ],
                                                "id": 1534,
                                                "name": "BinaryOperation",
                                                "src": "14764:31:7"
                                            },
                                            {
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "operator": "++",
                                                            "prefix": false,
                                                            "type": "uint256"
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "overloadedDeclarations": [
                                                                        null
                                                                    ],
                                                                    "referencedDeclaration": 1526,
                                                                    "type": "uint256",
                                                                    "value": "i"
                                                                },
                                                                "id": 1535,
                                                                "name": "Identifier",
                                                                "src": "14797:1:7"
                                                            }
                                                        ],
                                                        "id": 1536,
                                                        "name": "UnaryOperation",
                                                        "src": "14797:3:7"
                                                    }
                                                ],
                                                "id": 1537,
                                                "name": "ExpressionStatement",
                                                "src": "14797:3:7"
                                            },
                                            {
                                                "children": [
                                                    {
                                                        "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": "datetime",
                                                                            "referencedDeclaration": 363,
                                                                            "type": "uint256"
                                                                        },
                                                                        "children": [
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "isConstant": false,
                                                                                    "isLValue": true,
                                                                                    "isPure": false,
                                                                                    "lValueRequested": false,
                                                                                    "type": "struct IVault.transaction storage ref"
                                                                                },
                                                                                "children": [
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "isConstant": false,
                                                                                            "isLValue": true,
                                                                                            "isPure": false,
                                                                                            "lValueRequested": false,
                                                                                            "type": "struct IVault.transaction storage ref[] storage ref"
                                                                                        },
                                                                                        "children": [
                                                                                            {
                                                                                                "attributes": {
                                                                                                    "argumentTypes": null,
                                                                                                    "overloadedDeclarations": [
                                                                                                        null
                                                                                                    ],
                                                                                                    "referencedDeclaration": 614,
                                                                                                    "type": "mapping(bytes32 => struct IVault.transaction storage ref[] storage ref)",
                                                                                                    "value": "transactions"
                                                                                                },
                                                                                                "id": 1538,
                                                                                                "name": "Identifier",
                                                                                                "src": "14819:12:7"
                                                                                            },
                                                                                            {
                                                                                                "attributes": {
                                                                                                    "argumentTypes": null,
                                                                                                    "overloadedDeclarations": [
                                                                                                        null
                                                                                                    ],
                                                                                                    "referencedDeclaration": 1511,
                                                                                                    "type": "bytes32",
                                                                                                    "value": "_creator"
                                                                                                },
                                                                                                "id": 1539,
                                                                                                "name": "Identifier",
                                                                                                "src": "14832:8:7"
                                                                                            }
                                                                                        ],
                                                                                        "id": 1540,
                                                                                        "name": "IndexAccess",
                                                                                        "src": "14819:22:7"
                                                                                    },
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "overloadedDeclarations": [
                                                                                                null
                                                                                            ],
                                                                                            "referencedDeclaration": 1526,
                                                                                            "type": "uint256",
                                                                                            "value": "i"
                                                                                        },
                                                                                        "id": 1541,
                                                                                        "name": "Identifier",
                                                                                        "src": "14842:1:7"
                                                                                    }
                                                                                ],
                                                                                "id": 1542,
                                                                                "name": "IndexAccess",
                                                                                "src": "14819:25:7"
                                                                            }
                                                                        ],
                                                                        "id": 1543,
                                                                        "name": "MemberAccess",
                                                                        "src": "14819:34:7"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 1515,
                                                                            "type": "uint256",
                                                                            "value": "_txid"
                                                                        },
                                                                        "id": 1544,
                                                                        "name": "Identifier",
                                                                        "src": "14855:5:7"
                                                                    }
                                                                ],
                                                                "id": 1545,
                                                                "name": "BinaryOperation",
                                                                "src": "14819:41:7"
                                                            },
                                                            {
                                                                "children": [
                                                                    {
                                                                        "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": "length",
                                                                                            "referencedDeclaration": null,
                                                                                            "type": "uint256"
                                                                                        },
                                                                                        "children": [
                                                                                            {
                                                                                                "attributes": {
                                                                                                    "argumentTypes": null,
                                                                                                    "isConstant": false,
                                                                                                    "isLValue": true,
                                                                                                    "isPure": false,
                                                                                                    "lValueRequested": false,
                                                                                                    "member_name": "cosigners",
                                                                                                    "referencedDeclaration": 366,
                                                                                                    "type": "bytes32[] storage ref"
                                                                                                },
                                                                                                "children": [
                                                                                                    {
                                                                                                        "attributes": {
                                                                                                            "argumentTypes": null,
                                                                                                            "isConstant": false,
                                                                                                            "isLValue": true,
                                                                                                            "isPure": false,
                                                                                                            "lValueRequested": false,
                                                                                                            "type": "struct IVault.transaction storage ref"
                                                                                                        },
                                                                                                        "children": [
                                                                                                            {
                                                                                                                "attributes": {
                                                                                                                    "argumentTypes": null,
                                                                                                                    "isConstant": false,
                                                                                                                    "isLValue": true,
                                                                                                                    "isPure": false,
                                                                                                                    "lValueRequested": false,
                                                                                                                    "type": "struct IVault.transaction storage ref[] storage ref"
                                                                                                                },
                                                                                                                "children": [
                                                                                                                    {
                                                                                                                        "attributes": {
                                                                                                                            "argumentTypes": null,
                                                                                                                            "overloadedDeclarations": [
                                                                                                                                null
                                                                                                                            ],
                                                                                                                            "referencedDeclaration": 614,
                                                                                                                            "type": "mapping(bytes32 => struct IVault.transaction storage ref[] storage ref)",
                                                                                                                            "value": "transactions"
                                                                                                                        },
                                                                                                                        "id": 1546,
                                                                                                                        "name": "Identifier",
                                                                                                                        "src": "14883:12:7"
                                                                                                                    },
                                                                                                                    {
                                                                                                                        "attributes": {
                                                                                                                            "argumentTypes": null,
                                                                                                                            "overloadedDeclarations": [
                                                                                                                                null
                                                                                                                            ],
                                                                                                                            "referencedDeclaration": 1511,
                                                                                                                            "type": "bytes32",
                                                                                                                            "value": "_creator"
                                                                                                                        },
                                                                                                                        "id": 1547,
                                                                                                                        "name": "Identifier",
                                                                                                                        "src": "14896:8:7"
                                                                                                                    }
                                                                                                                ],
                                                                                                                "id": 1548,
                                                                                                                "name": "IndexAccess",
                                                                                                                "src": "14883:22:7"
                                                                                                            },
                                                                                                            {
                                                                                                                "attributes": {
                                                                                                                    "argumentTypes": null,
                                                                                                                    "overloadedDeclarations": [
                                                                                                                        null
                                                                                                                    ],
                                                                                                                    "referencedDeclaration": 1526,
                                                                                                                    "type": "uint256",
                                                                                                                    "value": "i"
                                                                                                                },
                                                                                                                "id": 1549,
                                                                                                                "name": "Identifier",
                                                                                                                "src": "14906:1:7"
                                                                                                            }
                                                                                                        ],
                                                                                                        "id": 1550,
                                                                                                        "name": "IndexAccess",
                                                                                                        "src": "14883:25:7"
                                                                                                    }
                                                                                                ],
                                                                                                "id": 1551,
                                                                                                "name": "MemberAccess",
                                                                                                "src": "14883:35:7"
                                                                                            }
                                                                                        ],
                                                                                        "id": 1552,
                                                                                        "name": "MemberAccess",
                                                                                        "src": "14883:42:7"
                                                                                    },
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "isConstant": false,
                                                                                            "isLValue": true,
                                                                                            "isPure": false,
                                                                                            "lValueRequested": false,
                                                                                            "type": "uint256"
                                                                                        },
                                                                                        "children": [
                                                                                            {
                                                                                                "attributes": {
                                                                                                    "argumentTypes": null,
                                                                                                    "overloadedDeclarations": [
                                                                                                        null
                                                                                                    ],
                                                                                                    "referencedDeclaration": 609,
                                                                                                    "type": "mapping(bytes32 => uint256)",
                                                                                                    "value": "quorum"
                                                                                                },
                                                                                                "id": 1553,
                                                                                                "name": "Identifier",
                                                                                                "src": "14929:6:7"
                                                                                            },
                                                                                            {
                                                                                                "attributes": {
                                                                                                    "argumentTypes": null,
                                                                                                    "overloadedDeclarations": [
                                                                                                        null
                                                                                                    ],
                                                                                                    "referencedDeclaration": 1511,
                                                                                                    "type": "bytes32",
                                                                                                    "value": "_creator"
                                                                                                },
                                                                                                "id": 1554,
                                                                                                "name": "Identifier",
                                                                                                "src": "14936:8:7"
                                                                                            }
                                                                                        ],
                                                                                        "id": 1555,
                                                                                        "name": "IndexAccess",
                                                                                        "src": "14929:16:7"
                                                                                    }
                                                                                ],
                                                                                "id": 1556,
                                                                                "name": "BinaryOperation",
                                                                                "src": "14883:62:7"
                                                                            },
                                                                            {
                                                                                "children": [
                                                                                    {
                                                                                        "attributes": {
                                                                                            "assignments": [
                                                                                                1560
                                                                                            ]
                                                                                        },
                                                                                        "children": [
                                                                                            {
                                                                                                "attributes": {
                                                                                                    "constant": false,
                                                                                                    "name": "keyShards",
                                                                                                    "scope": 1610,
                                                                                                    "stateVariable": false,
                                                                                                    "storageLocation": "memory",
                                                                                                    "type": "string[]",
                                                                                                    "value": null,
                                                                                                    "visibility": "internal"
                                                                                                },
                                                                                                "children": [
                                                                                                    {
                                                                                                        "attributes": {
                                                                                                            "length": null,
                                                                                                            "type": "string[]"
                                                                                                        },
                                                                                                        "children": [
                                                                                                            {
                                                                                                                "attributes": {
                                                                                                                    "name": "string",
                                                                                                                    "type": "string"
                                                                                                                },
                                                                                                                "id": 1558,
                                                                                                                "name": "ElementaryTypeName",
                                                                                                                "src": "14969:6:7"
                                                                                                            }
                                                                                                        ],
                                                                                                        "id": 1559,
                                                                                                        "name": "ArrayTypeName",
                                                                                                        "src": "14969:8:7"
                                                                                                    }
                                                                                                ],
                                                                                                "id": 1560,
                                                                                                "name": "VariableDeclaration",
                                                                                                "src": "14969:25:7"
                                                                                            },
                                                                                            {
                                                                                                "attributes": {
                                                                                                    "argumentTypes": null,
                                                                                                    "isConstant": false,
                                                                                                    "isLValue": false,
                                                                                                    "isPure": false,
                                                                                                    "isStructConstructorCall": false,
                                                                                                    "lValueRequested": false,
                                                                                                    "names": [
                                                                                                        null
                                                                                                    ],
                                                                                                    "type": "string memory[] memory",
                                                                                                    "type_conversion": false
                                                                                                },
                                                                                                "children": [
                                                                                                    {
                                                                                                        "attributes": {
                                                                                                            "argumentTypes": [
                                                                                                                {
                                                                                                                    "typeIdentifier": "t_uint256",
                                                                                                                    "typeString": "uint256"
                                                                                                                }
                                                                                                            ],
                                                                                                            "isConstant": false,
                                                                                                            "isLValue": false,
                                                                                                            "isPure": true,
                                                                                                            "lValueRequested": false,
                                                                                                            "type": "function (uint256) pure returns (string memory[] memory)"
                                                                                                        },
                                                                                                        "children": [
                                                                                                            {
                                                                                                                "attributes": {
                                                                                                                    "length": null,
                                                                                                                    "type": "string[]"
                                                                                                                },
                                                                                                                "children": [
                                                                                                                    {
                                                                                                                        "attributes": {
                                                                                                                            "name": "string",
                                                                                                                            "type": "string"
                                                                                                                        },
                                                                                                                        "id": 1561,
                                                                                                                        "name": "ElementaryTypeName",
                                                                                                                        "src": "15001:6:7"
                                                                                                                    }
                                                                                                                ],
                                                                                                                "id": 1562,
                                                                                                                "name": "ArrayTypeName",
                                                                                                                "src": "15001:8:7"
                                                                                                            }
                                                                                                        ],
                                                                                                        "id": 1563,
                                                                                                        "name": "NewExpression",
                                                                                                        "src": "14997:12:7"
                                                                                                    },
                                                                                                    {
                                                                                                        "attributes": {
                                                                                                            "argumentTypes": null,
                                                                                                            "isConstant": false,
                                                                                                            "isLValue": true,
                                                                                                            "isPure": false,
                                                                                                            "lValueRequested": false,
                                                                                                            "member_name": "length",
                                                                                                            "referencedDeclaration": null,
                                                                                                            "type": "uint256"
                                                                                                        },
                                                                                                        "children": [
                                                                                                            {
                                                                                                                "attributes": {
                                                                                                                    "argumentTypes": null,
                                                                                                                    "isConstant": false,
                                                                                                                    "isLValue": true,
                                                                                                                    "isPure": false,
                                                                                                                    "lValueRequested": false,
                                                                                                                    "member_name": "cosigners",
                                                                                                                    "referencedDeclaration": 366,
                                                                                                                    "type": "bytes32[] storage ref"
                                                                                                                },
                                                                                                                "children": [
                                                                                                                    {
                                                                                                                        "attributes": {
                                                                                                                            "argumentTypes": null,
                                                                                                                            "isConstant": false,
                                                                                                                            "isLValue": true,
                                                                                                                            "isPure": false,
                                                                                                                            "lValueRequested": false,
                                                                                                                            "type": "struct IVault.transaction storage ref"
                                                                                                                        },
                                                                                                                        "children": [
                                                                                                                            {
                                                                                                                                "attributes": {
                                                                                                                                    "argumentTypes": null,
                                                                                                                                    "isConstant": false,
                                                                                                                                    "isLValue": true,
                                                                                                                                    "isPure": false,
                                                                                                                                    "lValueRequested": false,
                                                                                                                                    "type": "struct IVault.transaction storage ref[] storage ref"
                                                                                                                                },
                                                                                                                                "children": [
                                                                                                                                    {
                                                                                                                                        "attributes": {
                                                                                                                                            "argumentTypes": null,
                                                                                                                                            "overloadedDeclarations": [
                                                                                                                                                null
                                                                                                                                            ],
                                                                                                                                            "referencedDeclaration": 614,
                                                                                                                                            "type": "mapping(bytes32 => struct IVault.transaction storage ref[] storage ref)",
                                                                                                                                            "value": "transactions"
                                                                                                                                        },
                                                                                                                                        "id": 1564,
                                                                                                                                        "name": "Identifier",
                                                                                                                                        "src": "15010:12:7"
                                                                                                                                    },
                                                                                                                                    {
                                                                                                                                        "attributes": {
                                                                                                                                            "argumentTypes": null,
                                                                                                                                            "overloadedDeclarations": [
                                                                                                                                                null
                                                                                                                                            ],
                                                                                                                                            "referencedDeclaration": 1511,
                                                                                                                                            "type": "bytes32",
                                                                                                                                            "value": "_creator"
                                                                                                                                        },
                                                                                                                                        "id": 1565,
                                                                                                                                        "name": "Identifier",
                                                                                                                                        "src": "15023:8:7"
                                                                                                                                    }
                                                                                                                                ],
                                                                                                                                "id": 1566,
                                                                                                                                "name": "IndexAccess",
                                                                                                                                "src": "15010:22:7"
                                                                                                                            },
                                                                                                                            {
                                                                                                                                "attributes": {
                                                                                                                                    "argumentTypes": null,
                                                                                                                                    "overloadedDeclarations": [
                                                                                                                                        null
                                                                                                                                    ],
                                                                                                                                    "referencedDeclaration": 1526,
                                                                                                                                    "type": "uint256",
                                                                                                                                    "value": "i"
                                                                                                                                },
                                                                                                                                "id": 1567,
                                                                                                                                "name": "Identifier",
                                                                                                                                "src": "15033:1:7"
                                                                                                                            }
                                                                                                                        ],
                                                                                                                        "id": 1568,
                                                                                                                        "name": "IndexAccess",
                                                                                                                        "src": "15010:25:7"
                                                                                                                    }
                                                                                                                ],
                                                                                                                "id": 1569,
                                                                                                                "name": "MemberAccess",
                                                                                                                "src": "15010:35:7"
                                                                                                            }
                                                                                                        ],
                                                                                                        "id": 1570,
                                                                                                        "name": "MemberAccess",
                                                                                                        "src": "15010:42:7"
                                                                                                    }
                                                                                                ],
                                                                                                "id": 1571,
                                                                                                "name": "FunctionCall",
                                                                                                "src": "14997:56:7"
                                                                                            }
                                                                                        ],
                                                                                        "id": 1572,
                                                                                        "name": "VariableDeclarationStatement",
                                                                                        "src": "14969:84:7"
                                                                                    },
                                                                                    {
                                                                                        "children": [
                                                                                            {
                                                                                                "attributes": {
                                                                                                    "assignments": [
                                                                                                        1574
                                                                                                    ]
                                                                                                },
                                                                                                "children": [
                                                                                                    {
                                                                                                        "attributes": {
                                                                                                            "constant": false,
                                                                                                            "name": "j",
                                                                                                            "scope": 1607,
                                                                                                            "stateVariable": false,
                                                                                                            "storageLocation": "default",
                                                                                                            "type": "uint256",
                                                                                                            "value": null,
                                                                                                            "visibility": "internal"
                                                                                                        },
                                                                                                        "children": [
                                                                                                            {
                                                                                                                "attributes": {
                                                                                                                    "name": "uint",
                                                                                                                    "type": "uint256"
                                                                                                                },
                                                                                                                "id": 1573,
                                                                                                                "name": "ElementaryTypeName",
                                                                                                                "src": "15080:4:7"
                                                                                                            }
                                                                                                        ],
                                                                                                        "id": 1574,
                                                                                                        "name": "VariableDeclaration",
                                                                                                        "src": "15080:6:7"
                                                                                                    },
                                                                                                    {
                                                                                                        "attributes": {
                                                                                                            "argumentTypes": null,
                                                                                                            "hexvalue": "30",
                                                                                                            "isConstant": false,
                                                                                                            "isLValue": false,
                                                                                                            "isPure": true,
                                                                                                            "lValueRequested": false,
                                                                                                            "subdenomination": null,
                                                                                                            "token": "number",
                                                                                                            "type": "int_const 0",
                                                                                                            "value": "0"
                                                                                                        },
                                                                                                        "id": 1575,
                                                                                                        "name": "Literal",
                                                                                                        "src": "15087:1:7"
                                                                                                    }
                                                                                                ],
                                                                                                "id": 1576,
                                                                                                "name": "VariableDeclarationStatement",
                                                                                                "src": "15080:8:7"
                                                                                            },
                                                                                            {
                                                                                                "attributes": {
                                                                                                    "argumentTypes": null,
                                                                                                    "commonType": {
                                                                                                        "typeIdentifier": "t_uint256",
                                                                                                        "typeString": "uint256"
                                                                                                    },
                                                                                                    "isConstant": false,
                                                                                                    "isLValue": false,
                                                                                                    "isPure": false,
                                                                                                    "lValueRequested": false,
                                                                                                    "operator": "<",
                                                                                                    "type": "bool"
                                                                                                },
                                                                                                "children": [
                                                                                                    {
                                                                                                        "attributes": {
                                                                                                            "argumentTypes": null,
                                                                                                            "overloadedDeclarations": [
                                                                                                                null
                                                                                                            ],
                                                                                                            "referencedDeclaration": 1574,
                                                                                                            "type": "uint256",
                                                                                                            "value": "j"
                                                                                                        },
                                                                                                        "id": 1577,
                                                                                                        "name": "Identifier",
                                                                                                        "src": "15090:1:7"
                                                                                                    },
                                                                                                    {
                                                                                                        "attributes": {
                                                                                                            "argumentTypes": null,
                                                                                                            "isConstant": false,
                                                                                                            "isLValue": true,
                                                                                                            "isPure": false,
                                                                                                            "lValueRequested": false,
                                                                                                            "member_name": "length",
                                                                                                            "referencedDeclaration": null,
                                                                                                            "type": "uint256"
                                                                                                        },
                                                                                                        "children": [
                                                                                                            {
                                                                                                                "attributes": {
                                                                                                                    "argumentTypes": null,
                                                                                                                    "isConstant": false,
                                                                                                                    "isLValue": true,
                                                                                                                    "isPure": false,
                                                                                                                    "lValueRequested": false,
                                                                                                                    "member_name": "cosigners",
                                                                                                                    "referencedDeclaration": 366,
                                                                                                                    "type": "bytes32[] storage ref"
                                                                                                                },
                                                                                                                "children": [
                                                                                                                    {
                                                                                                                        "attributes": {
                                                                                                                            "argumentTypes": null,
                                                                                                                            "isConstant": false,
                                                                                                                            "isLValue": true,
                                                                                                                            "isPure": false,
                                                                                                                            "lValueRequested": false,
                                                                                                                            "type": "struct IVault.transaction storage ref"
                                                                                                                        },
                                                                                                                        "children": [
                                                                                                                            {
                                                                                                                                "attributes": {
                                                                                                                                    "argumentTypes": null,
                                                                                                                                    "isConstant": false,
                                                                                                                                    "isLValue": true,
                                                                                                                                    "isPure": false,
                                                                                                                                    "lValueRequested": false,
                                                                                                                                    "type": "struct IVault.transaction storage ref[] storage ref"
                                                                                                                                },
                                                                                                                                "children": [
                                                                                                                                    {
                                                                                                                                        "attributes": {
                                                                                                                                            "argumentTypes": null,
                                                                                                                                            "overloadedDeclarations": [
                                                                                                                                                null
                                                                                                                                            ],
                                                                                                                                            "referencedDeclaration": 614,
                                                                                                                                            "type": "mapping(bytes32 => struct IVault.transaction storage ref[] storage ref)",
                                                                                                                                            "value": "transactions"
                                                                                                                                        },
                                                                                                                                        "id": 1578,
                                                                                                                                        "name": "Identifier",
                                                                                                                                        "src": "15092:12:7"
                                                                                                                                    },
                                                                                                                                    {
                                                                                                                                        "attributes": {
                                                                                                                                            "argumentTypes": null,
                                                                                                                                            "overloadedDeclarations": [
                                                                                                                                                null
                                                                                                                                            ],
                                                                                                                                            "referencedDeclaration": 1511,
                                                                                                                                            "type": "bytes32",
                                                                                                                                            "value": "_creator"
                                                                                                                                        },
                                                                                                                                        "id": 1579,
                                                                                                                                        "name": "Identifier",
                                                                                                                                        "src": "15105:8:7"
                                                                                                                                    }
                                                                                                                                ],
                                                                                                                                "id": 1580,
                                                                                                                                "name": "IndexAccess",
                                                                                                                                "src": "15092:22:7"
                                                                                                                            },
                                                                                                                            {
                                                                                                                                "attributes": {
                                                                                                                                    "argumentTypes": null,
                                                                                                                                    "overloadedDeclarations": [
                                                                                                                                        null
                                                                                                                                    ],
                                                                                                                                    "referencedDeclaration": 1526,
                                                                                                                                    "type": "uint256",
                                                                                                                                    "value": "i"
                                                                                                                                },
                                                                                                                                "id": 1581,
                                                                                                                                "name": "Identifier",
                                                                                                                                "src": "15115:1:7"
                                                                                                                            }
                                                                                                                        ],
                                                                                                                        "id": 1582,
                                                                                                                        "name": "IndexAccess",
                                                                                                                        "src": "15092:25:7"
                                                                                                                    }
                                                                                                                ],
                                                                                                                "id": 1583,
                                                                                                                "name": "MemberAccess",
                                                                                                                "src": "15092:35:7"
                                                                                                            }
                                                                                                        ],
                                                                                                        "id": 1584,
                                                                                                        "name": "MemberAccess",
                                                                                                        "src": "15092:42:7"
                                                                                                    }
                                                                                                ],
                                                                                                "id": 1585,
                                                                                                "name": "BinaryOperation",
                                                                                                "src": "15090:44:7"
                                                                                            },
                                                                                            {
                                                                                                "children": [
                                                                                                    {
                                                                                                        "attributes": {
                                                                                                            "argumentTypes": null,
                                                                                                            "isConstant": false,
                                                                                                            "isLValue": false,
                                                                                                            "isPure": false,
                                                                                                            "lValueRequested": false,
                                                                                                            "operator": "++",
                                                                                                            "prefix": false,
                                                                                                            "type": "uint256"
                                                                                                        },
                                                                                                        "children": [
                                                                                                            {
                                                                                                                "attributes": {
                                                                                                                    "argumentTypes": null,
                                                                                                                    "overloadedDeclarations": [
                                                                                                                        null
                                                                                                                    ],
                                                                                                                    "referencedDeclaration": 1574,
                                                                                                                    "type": "uint256",
                                                                                                                    "value": "j"
                                                                                                                },
                                                                                                                "id": 1586,
                                                                                                                "name": "Identifier",
                                                                                                                "src": "15136:1:7"
                                                                                                            }
                                                                                                        ],
                                                                                                        "id": 1587,
                                                                                                        "name": "UnaryOperation",
                                                                                                        "src": "15136:3:7"
                                                                                                    }
                                                                                                ],
                                                                                                "id": 1588,
                                                                                                "name": "ExpressionStatement",
                                                                                                "src": "15136:3:7"
                                                                                            },
                                                                                            {
                                                                                                "children": [
                                                                                                    {
                                                                                                        "children": [
                                                                                                            {
                                                                                                                "attributes": {
                                                                                                                    "argumentTypes": null,
                                                                                                                    "isConstant": false,
                                                                                                                    "isLValue": false,
                                                                                                                    "isPure": false,
                                                                                                                    "lValueRequested": false,
                                                                                                                    "operator": "=",
                                                                                                                    "type": "string memory"
                                                                                                                },
                                                                                                                "children": [
                                                                                                                    {
                                                                                                                        "attributes": {
                                                                                                                            "argumentTypes": null,
                                                                                                                            "isConstant": false,
                                                                                                                            "isLValue": true,
                                                                                                                            "isPure": false,
                                                                                                                            "lValueRequested": true,
                                                                                                                            "type": "string memory"
                                                                                                                        },
                                                                                                                        "children": [
                                                                                                                            {
                                                                                                                                "attributes": {
                                                                                                                                    "argumentTypes": null,
                                                                                                                                    "overloadedDeclarations": [
                                                                                                                                        null
                                                                                                                                    ],
                                                                                                                                    "referencedDeclaration": 1560,
                                                                                                                                    "type": "string memory[] memory",
                                                                                                                                    "value": "keyShards"
                                                                                                                                },
                                                                                                                                "id": 1589,
                                                                                                                                "name": "Identifier",
                                                                                                                                "src": "15167:9:7"
                                                                                                                            },
                                                                                                                            {
                                                                                                                                "attributes": {
                                                                                                                                    "argumentTypes": null,
                                                                                                                                    "overloadedDeclarations": [
                                                                                                                                        null
                                                                                                                                    ],
                                                                                                                                    "referencedDeclaration": 1574,
                                                                                                                                    "type": "uint256",
                                                                                                                                    "value": "j"
                                                                                                                                },
                                                                                                                                "id": 1590,
                                                                                                                                "name": "Identifier",
                                                                                                                                "src": "15177:1:7"
                                                                                                                            }
                                                                                                                        ],
                                                                                                                        "id": 1591,
                                                                                                                        "name": "IndexAccess",
                                                                                                                        "src": "15167:12:7"
                                                                                                                    },
                                                                                                                    {
                                                                                                                        "attributes": {
                                                                                                                            "argumentTypes": null,
                                                                                                                            "isConstant": false,
                                                                                                                            "isLValue": true,
                                                                                                                            "isPure": false,
                                                                                                                            "lValueRequested": false,
                                                                                                                            "type": "string storage ref"
                                                                                                                        },
                                                                                                                        "children": [
                                                                                                                            {
                                                                                                                                "attributes": {
                                                                                                                                    "argumentTypes": null,
                                                                                                                                    "isConstant": false,
                                                                                                                                    "isLValue": true,
                                                                                                                                    "isPure": false,
                                                                                                                                    "lValueRequested": false,
                                                                                                                                    "type": "mapping(bytes32 => string storage ref)"
                                                                                                                                },
                                                                                                                                "children": [
                                                                                                                                    {
                                                                                                                                        "attributes": {
                                                                                                                                            "argumentTypes": null,
                                                                                                                                            "overloadedDeclarations": [
                                                                                                                                                null
                                                                                                                                            ],
                                                                                                                                            "referencedDeclaration": 605,
                                                                                                                                            "type": "mapping(bytes32 => mapping(bytes32 => string storage ref))",
                                                                                                                                            "value": "shards"
                                                                                                                                        },
                                                                                                                                        "id": 1592,
                                                                                                                                        "name": "Identifier",
                                                                                                                                        "src": "15182:6:7"
                                                                                                                                    },
                                                                                                                                    {
                                                                                                                                        "attributes": {
                                                                                                                                            "argumentTypes": null,
                                                                                                                                            "overloadedDeclarations": [
                                                                                                                                                null
                                                                                                                                            ],
                                                                                                                                            "referencedDeclaration": 1511,
                                                                                                                                            "type": "bytes32",
                                                                                                                                            "value": "_creator"
                                                                                                                                        },
                                                                                                                                        "id": 1593,
                                                                                                                                        "name": "Identifier",
                                                                                                                                        "src": "15189:8:7"
                                                                                                                                    }
                                                                                                                                ],
                                                                                                                                "id": 1594,
                                                                                                                                "name": "IndexAccess",
                                                                                                                                "src": "15182:16:7"
                                                                                                                            },
                                                                                                                            {
                                                                                                                                "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": "cosigners",
                                                                                                                                            "referencedDeclaration": 366,
                                                                                                                                            "type": "bytes32[] storage ref"
                                                                                                                                        },
                                                                                                                                        "children": [
                                                                                                                                            {
                                                                                                                                                "attributes": {
                                                                                                                                                    "argumentTypes": null,
                                                                                                                                                    "isConstant": false,
                                                                                                                                                    "isLValue": true,
                                                                                                                                                    "isPure": false,
                                                                                                                                                    "lValueRequested": false,
                                                                                                                                                    "type": "struct IVault.transaction storage ref"
                                                                                                                                                },
                                                                                                                                                "children": [
                                                                                                                                                    {
                                                                                                                                                        "attributes": {
                                                                                                                                                            "argumentTypes": null,
                                                                                                                                                            "isConstant": false,
                                                                                                                                                            "isLValue": true,
                                                                                                                                                            "isPure": false,
                                                                                                                                                            "lValueRequested": false,
                                                                                                                                                            "type": "struct IVault.transaction storage ref[] storage ref"
                                                                                                                                                        },
                                                                                                                                                        "children": [
                                                                                                                                                            {
                                                                                                                                                                "attributes": {
                                                                                                                                                                    "argumentTypes": null,
                                                                                                                                                                    "overloadedDeclarations": [
                                                                                                                                                                        null
                                                                                                                                                                    ],
                                                                                                                                                                    "referencedDeclaration": 614,
                                                                                                                                                                    "type": "mapping(bytes32 => struct IVault.transaction storage ref[] storage ref)",
                                                                                                                                                                    "value": "transactions"
                                                                                                                                                                },
                                                                                                                                                                "id": 1595,
                                                                                                                                                                "name": "Identifier",
                                                                                                                                                                "src": "15199:12:7"
                                                                                                                                                            },
                                                                                                                                                            {
                                                                                                                                                                "attributes": {
                                                                                                                                                                    "argumentTypes": null,
                                                                                                                                                                    "overloadedDeclarations": [
                                                                                                                                                                        null
                                                                                                                                                                    ],
                                                                                                                                                                    "referencedDeclaration": 1511,
                                                                                                                                                                    "type": "bytes32",
                                                                                                                                                                    "value": "_creator"
                                                                                                                                                                },
                                                                                                                                                                "id": 1596,
                                                                                                                                                                "name": "Identifier",
                                                                                                                                                                "src": "15212:8:7"
                                                                                                                                                            }
                                                                                                                                                        ],
                                                                                                                                                        "id": 1597,
                                                                                                                                                        "name": "IndexAccess",
                                                                                                                                                        "src": "15199:22:7"
                                                                                                                                                    },
                                                                                                                                                    {
                                                                                                                                                        "attributes": {
                                                                                                                                                            "argumentTypes": null,
                                                                                                                                                            "overloadedDeclarations": [
                                                                                                                                                                null
                                                                                                                                                            ],
                                                                                                                                                            "referencedDeclaration": 1526,
                                                                                                                                                            "type": "uint256",
                                                                                                                                                            "value": "i"
                                                                                                                                                        },
                                                                                                                                                        "id": 1598,
                                                                                                                                                        "name": "Identifier",
                                                                                                                                                        "src": "15222:1:7"
                                                                                                                                                    }
                                                                                                                                                ],
                                                                                                                                                "id": 1599,
                                                                                                                                                "name": "IndexAccess",
                                                                                                                                                "src": "15199:25:7"
                                                                                                                                            }
                                                                                                                                        ],
                                                                                                                                        "id": 1600,
                                                                                                                                        "name": "MemberAccess",
                                                                                                                                        "src": "15199:35:7"
                                                                                                                                    },
                                                                                                                                    {
                                                                                                                                        "attributes": {
                                                                                                                                            "argumentTypes": null,
                                                                                                                                            "overloadedDeclarations": [
                                                                                                                                                null
                                                                                                                                            ],
                                                                                                                                            "referencedDeclaration": 1574,
                                                                                                                                            "type": "uint256",
                                                                                                                                            "value": "j"
                                                                                                                                        },
                                                                                                                                        "id": 1601,
                                                                                                                                        "name": "Identifier",
                                                                                                                                        "src": "15235:1:7"
                                                                                                                                    }
                                                                                                                                ],
                                                                                                                                "id": 1602,
                                                                                                                                "name": "IndexAccess",
                                                                                                                                "src": "15199:38:7"
                                                                                                                            }
                                                                                                                        ],
                                                                                                                        "id": 1603,
                                                                                                                        "name": "IndexAccess",
                                                                                                                        "src": "15182:56:7"
                                                                                                                    }
                                                                                                                ],
                                                                                                                "id": 1604,
                                                                                                                "name": "Assignment",
                                                                                                                "src": "15167:71:7"
                                                                                                            }
                                                                                                        ],
                                                                                                        "id": 1605,
                                                                                                        "name": "ExpressionStatement",
                                                                                                        "src": "15167:71:7"
                                                                                                    }
                                                                                                ],
                                                                                                "id": 1606,
                                                                                                "name": "Block",
                                                                                                "src": "15140:146:7"
                                                                                            }
                                                                                        ],
                                                                                        "id": 1607,
                                                                                        "name": "ForStatement",
                                                                                        "src": "15076:210:7"
                                                                                    },
                                                                                    {
                                                                                        "attributes": {
                                                                                            "functionReturnParameters": 1524
                                                                                        },
                                                                                        "children": [
                                                                                            {
                                                                                                "attributes": {
                                                                                                    "argumentTypes": null,
                                                                                                    "overloadedDeclarations": [
                                                                                                        null
                                                                                                    ],
                                                                                                    "referencedDeclaration": 1560,
                                                                                                    "type": "string memory[] memory",
                                                                                                    "value": "keyShards"
                                                                                                },
                                                                                                "id": 1608,
                                                                                                "name": "Identifier",
                                                                                                "src": "15372:9:7"
                                                                                            }
                                                                                        ],
                                                                                        "id": 1609,
                                                                                        "name": "Return",
                                                                                        "src": "15365:16:7"
                                                                                    }
                                                                                ],
                                                                                "id": 1610,
                                                                                "name": "Block",
                                                                                "src": "14946:455:7"
                                                                            }
                                                                        ],
                                                                        "id": 1611,
                                                                        "name": "IfStatement",
                                                                        "src": "14880:521:7"
                                                                    }
                                                                ],
                                                                "id": 1612,
                                                                "name": "Block",
                                                                "src": "14861:555:7"
                                                            }
                                                        ],
                                                        "id": 1613,
                                                        "name": "IfStatement",
                                                        "src": "14816:600:7"
                                                    }
                                                ],
                                                "id": 1614,
                                                "name": "Block",
                                                "src": "14801:626:7"
                                            }
                                        ],
                                        "id": 1615,
                                        "name": "ForStatement",
                                        "src": "14750:677:7"
                                    }
                                ],
                                "id": 1616,
                                "name": "Block",
                                "src": "14739:695:7"
                            }
                        ],
                        "id": 1617,
                        "name": "FunctionDefinition",
                        "src": "14602:832:7"
                    },
                    {
                        "attributes": {
                            "documentation": "This function takes a snapshot of the token balance for the user\r\n@param _creator vault creator's username, eg creator@email.com\r\n@param _id vault creator's unique id using which it can be reached, eg, its Google/APNS token\r\n@param token token address\r",
                            "implemented": true,
                            "isConstructor": false,
                            "kind": "function",
                            "name": "snapshotBalance",
                            "scope": 1949,
                            "stateMutability": "nonpayable",
                            "superFunction": 497,
                            "visibility": "external"
                        },
                        "children": [
                            {
                                "children": [
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "_creator",
                                            "scope": 1655,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "bytes32",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "bytes32",
                                                    "type": "bytes32"
                                                },
                                                "id": 1618,
                                                "name": "ElementaryTypeName",
                                                "src": "15770:7:7"
                                            }
                                        ],
                                        "id": 1619,
                                        "name": "VariableDeclaration",
                                        "src": "15770:16:7"
                                    },
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "_id",
                                            "scope": 1655,
                                            "stateVariable": false,
                                            "storageLocation": "calldata",
                                            "type": "string",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "string",
                                                    "type": "string"
                                                },
                                                "id": 1620,
                                                "name": "ElementaryTypeName",
                                                "src": "15788:6:7"
                                            }
                                        ],
                                        "id": 1621,
                                        "name": "VariableDeclaration",
                                        "src": "15788:19:7"
                                    },
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "token",
                                            "scope": 1655,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "address",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "address",
                                                    "stateMutability": "nonpayable",
                                                    "type": "address"
                                                },
                                                "id": 1622,
                                                "name": "ElementaryTypeName",
                                                "src": "15809:7:7"
                                            }
                                        ],
                                        "id": 1623,
                                        "name": "VariableDeclaration",
                                        "src": "15809:13:7"
                                    }
                                ],
                                "id": 1624,
                                "name": "ParameterList",
                                "src": "15769:54:7"
                            },
                            {
                                "attributes": {
                                    "parameters": [
                                        null
                                    ]
                                },
                                "children": [],
                                "id": 1629,
                                "name": "ParameterList",
                                "src": "15859:0:7"
                            },
                            {
                                "children": [
                                    {
                                        "attributes": {
                                            "argumentTypes": null,
                                            "overloadedDeclarations": [
                                                null
                                            ],
                                            "referencedDeclaration": 695,
                                            "type": "modifier (bytes32,string memory)",
                                            "value": "onlySigner"
                                        },
                                        "id": 1625,
                                        "name": "Identifier",
                                        "src": "15824:10:7"
                                    },
                                    {
                                        "attributes": {
                                            "argumentTypes": null,
                                            "overloadedDeclarations": [
                                                null
                                            ],
                                            "referencedDeclaration": 1619,
                                            "type": "bytes32",
                                            "value": "_creator"
                                        },
                                        "id": 1626,
                                        "name": "Identifier",
                                        "src": "15835:8:7"
                                    },
                                    {
                                        "attributes": {
                                            "argumentTypes": null,
                                            "overloadedDeclarations": [
                                                null
                                            ],
                                            "referencedDeclaration": 1621,
                                            "type": "string calldata",
                                            "value": "_id"
                                        },
                                        "id": 1627,
                                        "name": "Identifier",
                                        "src": "15845:3:7"
                                    }
                                ],
                                "id": 1628,
                                "name": "ModifierInvocation",
                                "src": "15824:25:7"
                            },
                            {
                                "children": [
                                    {
                                        "attributes": {
                                            "assignments": [
                                                1631
                                            ]
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "constant": false,
                                                    "name": "currentBalance",
                                                    "scope": 1654,
                                                    "stateVariable": false,
                                                    "storageLocation": "default",
                                                    "type": "uint256",
                                                    "value": null,
                                                    "visibility": "internal"
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "name": "uint256",
                                                            "type": "uint256"
                                                        },
                                                        "id": 1630,
                                                        "name": "ElementaryTypeName",
                                                        "src": "15909:7:7"
                                                    }
                                                ],
                                                "id": 1631,
                                                "name": "VariableDeclaration",
                                                "src": "15909:22:7"
                                            },
                                            {
                                                "attributes": {
                                                    "argumentTypes": null,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "isStructConstructorCall": false,
                                                    "lValueRequested": false,
                                                    "names": [
                                                        null
                                                    ],
                                                    "type": "uint256",
                                                    "type_conversion": false
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": [
                                                                {
                                                                    "typeIdentifier": "t_address_payable",
                                                                    "typeString": "address payable"
                                                                }
                                                            ],
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "member_name": "balanceOf",
                                                            "referencedDeclaration": 234,
                                                            "type": "function (address) view external returns (uint256)"
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": false,
                                                                    "isStructConstructorCall": false,
                                                                    "lValueRequested": false,
                                                                    "names": [
                                                                        null
                                                                    ],
                                                                    "type": "contract IERC20",
                                                                    "type_conversion": true
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": [
                                                                                {
                                                                                    "typeIdentifier": "t_address",
                                                                                    "typeString": "address"
                                                                                }
                                                                            ],
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 289,
                                                                            "type": "type(contract IERC20)",
                                                                            "value": "IERC20"
                                                                        },
                                                                        "id": 1632,
                                                                        "name": "Identifier",
                                                                        "src": "15934:6:7"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 1623,
                                                                            "type": "address",
                                                                            "value": "token"
                                                                        },
                                                                        "id": 1633,
                                                                        "name": "Identifier",
                                                                        "src": "15941:5:7"
                                                                    }
                                                                ],
                                                                "id": 1634,
                                                                "name": "FunctionCall",
                                                                "src": "15934:13:7"
                                                            }
                                                        ],
                                                        "id": 1635,
                                                        "name": "MemberAccess",
                                                        "src": "15934:23:7"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "member_name": "sender",
                                                            "referencedDeclaration": null,
                                                            "type": "address payable"
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "overloadedDeclarations": [
                                                                        null
                                                                    ],
                                                                    "referencedDeclaration": 3956,
                                                                    "type": "msg",
                                                                    "value": "msg"
                                                                },
                                                                "id": 1636,
                                                                "name": "Identifier",
                                                                "src": "15958:3:7"
                                                            }
                                                        ],
                                                        "id": 1637,
                                                        "name": "MemberAccess",
                                                        "src": "15958:10:7"
                                                    }
                                                ],
                                                "id": 1638,
                                                "name": "FunctionCall",
                                                "src": "15934:35:7"
                                            }
                                        ],
                                        "id": 1639,
                                        "name": "VariableDeclarationStatement",
                                        "src": "15909:60:7"
                                    },
                                    {
                                        "children": [
                                            {
                                                "attributes": {
                                                    "argumentTypes": null,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "isStructConstructorCall": false,
                                                    "lValueRequested": false,
                                                    "names": [
                                                        null
                                                    ],
                                                    "type": "uint256",
                                                    "type_conversion": false
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": [
                                                                {
                                                                    "typeIdentifier": "t_struct$_BalanceSnapshot_$657_memory",
                                                                    "typeString": "struct Vault.BalanceSnapshot memory"
                                                                }
                                                            ],
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "member_name": "push",
                                                            "referencedDeclaration": null,
                                                            "type": "function (struct Vault.BalanceSnapshot storage ref) returns (uint256)"
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "isConstant": false,
                                                                    "isLValue": true,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "type": "struct Vault.BalanceSnapshot storage ref[] storage ref"
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "isConstant": false,
                                                                            "isLValue": true,
                                                                            "isPure": false,
                                                                            "lValueRequested": false,
                                                                            "type": "mapping(address => struct Vault.BalanceSnapshot storage ref[] storage ref)"
                                                                        },
                                                                        "children": [
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "overloadedDeclarations": [
                                                                                        null
                                                                                    ],
                                                                                    "referencedDeclaration": 664,
                                                                                    "type": "mapping(address => mapping(address => struct Vault.BalanceSnapshot storage ref[] storage ref))",
                                                                                    "value": "userSnapshots"
                                                                                },
                                                                                "id": 1640,
                                                                                "name": "Identifier",
                                                                                "src": "15980:13:7"
                                                                            },
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "isConstant": false,
                                                                                    "isLValue": false,
                                                                                    "isPure": false,
                                                                                    "lValueRequested": false,
                                                                                    "member_name": "sender",
                                                                                    "referencedDeclaration": null,
                                                                                    "type": "address payable"
                                                                                },
                                                                                "children": [
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "overloadedDeclarations": [
                                                                                                null
                                                                                            ],
                                                                                            "referencedDeclaration": 3956,
                                                                                            "type": "msg",
                                                                                            "value": "msg"
                                                                                        },
                                                                                        "id": 1641,
                                                                                        "name": "Identifier",
                                                                                        "src": "15994:3:7"
                                                                                    }
                                                                                ],
                                                                                "id": 1642,
                                                                                "name": "MemberAccess",
                                                                                "src": "15994:10:7"
                                                                            }
                                                                        ],
                                                                        "id": 1644,
                                                                        "name": "IndexAccess",
                                                                        "src": "15980:25:7"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 1623,
                                                                            "type": "address",
                                                                            "value": "token"
                                                                        },
                                                                        "id": 1643,
                                                                        "name": "Identifier",
                                                                        "src": "16006:5:7"
                                                                    }
                                                                ],
                                                                "id": 1645,
                                                                "name": "IndexAccess",
                                                                "src": "15980:32:7"
                                                            }
                                                        ],
                                                        "id": 1646,
                                                        "name": "MemberAccess",
                                                        "src": "15980:37:7"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": false,
                                                            "isStructConstructorCall": true,
                                                            "lValueRequested": false,
                                                            "names": [
                                                                null
                                                            ],
                                                            "type": "struct Vault.BalanceSnapshot memory",
                                                            "type_conversion": false
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": [
                                                                        {
                                                                            "typeIdentifier": "t_uint256",
                                                                            "typeString": "uint256"
                                                                        },
                                                                        {
                                                                            "typeIdentifier": "t_uint256",
                                                                            "typeString": "uint256"
                                                                        }
                                                                    ],
                                                                    "overloadedDeclarations": [
                                                                        null
                                                                    ],
                                                                    "referencedDeclaration": 657,
                                                                    "type": "type(struct Vault.BalanceSnapshot storage pointer)",
                                                                    "value": "BalanceSnapshot"
                                                                },
                                                                "id": 1647,
                                                                "name": "Identifier",
                                                                "src": "16018:15:7"
                                                            },
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "member_name": "timestamp",
                                                                    "referencedDeclaration": null,
                                                                    "type": "uint256"
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 3946,
                                                                            "type": "block",
                                                                            "value": "block"
                                                                        },
                                                                        "id": 1648,
                                                                        "name": "Identifier",
                                                                        "src": "16034:5:7"
                                                                    }
                                                                ],
                                                                "id": 1649,
                                                                "name": "MemberAccess",
                                                                "src": "16034:15:7"
                                                            },
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "overloadedDeclarations": [
                                                                        null
                                                                    ],
                                                                    "referencedDeclaration": 1631,
                                                                    "type": "uint256",
                                                                    "value": "currentBalance"
                                                                },
                                                                "id": 1650,
                                                                "name": "Identifier",
                                                                "src": "16051:14:7"
                                                            }
                                                        ],
                                                        "id": 1651,
                                                        "name": "FunctionCall",
                                                        "src": "16018:48:7"
                                                    }
                                                ],
                                                "id": 1652,
                                                "name": "FunctionCall",
                                                "src": "15980:87:7"
                                            }
                                        ],
                                        "id": 1653,
                                        "name": "ExpressionStatement",
                                        "src": "15980:87:7"
                                    }
                                ],
                                "id": 1654,
                                "name": "Block",
                                "src": "15859:216:7"
                            }
                        ],
                        "id": 1655,
                        "name": "FunctionDefinition",
                        "src": "15745:330:7"
                    },
                    {
                        "attributes": {
                            "anonymous": false,
                            "documentation": null,
                            "name": "totalCount"
                        },
                        "children": [
                            {
                                "children": [
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "indexed": false,
                                            "name": "total",
                                            "scope": 1661,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "uint256",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "uint256",
                                                    "type": "uint256"
                                                },
                                                "id": 1656,
                                                "name": "ElementaryTypeName",
                                                "src": "16098:7:7"
                                            }
                                        ],
                                        "id": 1657,
                                        "name": "VariableDeclaration",
                                        "src": "16098:13:7"
                                    },
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "indexed": false,
                                            "name": "count",
                                            "scope": 1661,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "uint256",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "uint256",
                                                    "type": "uint256"
                                                },
                                                "id": 1658,
                                                "name": "ElementaryTypeName",
                                                "src": "16113:7:7"
                                            }
                                        ],
                                        "id": 1659,
                                        "name": "VariableDeclaration",
                                        "src": "16113:13:7"
                                    }
                                ],
                                "id": 1660,
                                "name": "ParameterList",
                                "src": "16097:30:7"
                            }
                        ],
                        "id": 1661,
                        "name": "EventDefinition",
                        "src": "16081:47:7"
                    },
                    {
                        "attributes": {
                            "anonymous": false,
                            "documentation": null,
                            "name": "avgBalance"
                        },
                        "children": [
                            {
                                "children": [
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "indexed": false,
                                            "name": "fees",
                                            "scope": 1669,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "uint256",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "uint256",
                                                    "type": "uint256"
                                                },
                                                "id": 1662,
                                                "name": "ElementaryTypeName",
                                                "src": "16151:7:7"
                                            }
                                        ],
                                        "id": 1663,
                                        "name": "VariableDeclaration",
                                        "src": "16151:12:7"
                                    },
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "indexed": false,
                                            "name": "totalCount",
                                            "scope": 1669,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "uint256",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "uint256",
                                                    "type": "uint256"
                                                },
                                                "id": 1664,
                                                "name": "ElementaryTypeName",
                                                "src": "16165:7:7"
                                            }
                                        ],
                                        "id": 1665,
                                        "name": "VariableDeclaration",
                                        "src": "16165:18:7"
                                    },
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "indexed": false,
                                            "name": "custodyfee",
                                            "scope": 1669,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "uint256",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "uint256",
                                                    "type": "uint256"
                                                },
                                                "id": 1666,
                                                "name": "ElementaryTypeName",
                                                "src": "16185:7:7"
                                            }
                                        ],
                                        "id": 1667,
                                        "name": "VariableDeclaration",
                                        "src": "16185:18:7"
                                    }
                                ],
                                "id": 1668,
                                "name": "ParameterList",
                                "src": "16150:54:7"
                            }
                        ],
                        "id": 1669,
                        "name": "EventDefinition",
                        "src": "16134:71:7"
                    },
                    {
                        "attributes": {
                            "documentation": "This function calculates the average balance for a user and a token\r\n@param _creator vault creator's username, eg creator@email.com\r\n@param _id vault creator's unique id using which it can be reached, eg, its Google/APNS token\r\n@param token token address\r\n@param fromTime time to start calculating token balance from\r\n@param toTime time to end calculating token balance \r",
                            "implemented": true,
                            "isConstructor": false,
                            "kind": "function",
                            "name": "calculateAverageBalance",
                            "scope": 1949,
                            "stateMutability": "nonpayable",
                            "superFunction": 510,
                            "visibility": "external"
                        },
                        "children": [
                            {
                                "children": [
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "_creator",
                                            "scope": 1829,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "bytes32",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "bytes32",
                                                    "type": "bytes32"
                                                },
                                                "id": 1670,
                                                "name": "ElementaryTypeName",
                                                "src": "16682:7:7"
                                            }
                                        ],
                                        "id": 1671,
                                        "name": "VariableDeclaration",
                                        "src": "16682:16:7"
                                    },
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "_id",
                                            "scope": 1829,
                                            "stateVariable": false,
                                            "storageLocation": "calldata",
                                            "type": "string",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "string",
                                                    "type": "string"
                                                },
                                                "id": 1672,
                                                "name": "ElementaryTypeName",
                                                "src": "16700:6:7"
                                            }
                                        ],
                                        "id": 1673,
                                        "name": "VariableDeclaration",
                                        "src": "16700:19:7"
                                    },
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "token",
                                            "scope": 1829,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "address",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "address",
                                                    "stateMutability": "nonpayable",
                                                    "type": "address"
                                                },
                                                "id": 1674,
                                                "name": "ElementaryTypeName",
                                                "src": "16721:7:7"
                                            }
                                        ],
                                        "id": 1675,
                                        "name": "VariableDeclaration",
                                        "src": "16721:13:7"
                                    },
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "fromTime",
                                            "scope": 1829,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "uint256",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "uint256",
                                                    "type": "uint256"
                                                },
                                                "id": 1676,
                                                "name": "ElementaryTypeName",
                                                "src": "16736:7:7"
                                            }
                                        ],
                                        "id": 1677,
                                        "name": "VariableDeclaration",
                                        "src": "16736:16:7"
                                    },
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "toTime",
                                            "scope": 1829,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "uint256",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "uint256",
                                                    "type": "uint256"
                                                },
                                                "id": 1678,
                                                "name": "ElementaryTypeName",
                                                "src": "16754:7:7"
                                            }
                                        ],
                                        "id": 1679,
                                        "name": "VariableDeclaration",
                                        "src": "16754:14:7"
                                    }
                                ],
                                "id": 1680,
                                "name": "ParameterList",
                                "src": "16681:88:7"
                            },
                            {
                                "attributes": {
                                    "parameters": [
                                        null
                                    ]
                                },
                                "children": [],
                                "id": 1685,
                                "name": "ParameterList",
                                "src": "16805:0:7"
                            },
                            {
                                "children": [
                                    {
                                        "attributes": {
                                            "argumentTypes": null,
                                            "overloadedDeclarations": [
                                                null
                                            ],
                                            "referencedDeclaration": 695,
                                            "type": "modifier (bytes32,string memory)",
                                            "value": "onlySigner"
                                        },
                                        "id": 1681,
                                        "name": "Identifier",
                                        "src": "16770:10:7"
                                    },
                                    {
                                        "attributes": {
                                            "argumentTypes": null,
                                            "overloadedDeclarations": [
                                                null
                                            ],
                                            "referencedDeclaration": 1671,
                                            "type": "bytes32",
                                            "value": "_creator"
                                        },
                                        "id": 1682,
                                        "name": "Identifier",
                                        "src": "16781:8:7"
                                    },
                                    {
                                        "attributes": {
                                            "argumentTypes": null,
                                            "overloadedDeclarations": [
                                                null
                                            ],
                                            "referencedDeclaration": 1673,
                                            "type": "string calldata",
                                            "value": "_id"
                                        },
                                        "id": 1683,
                                        "name": "Identifier",
                                        "src": "16791:3:7"
                                    }
                                ],
                                "id": 1684,
                                "name": "ModifierInvocation",
                                "src": "16770:25:7"
                            },
                            {
                                "children": [
                                    {
                                        "attributes": {
                                            "assignments": [
                                                1689
                                            ]
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "constant": false,
                                                    "name": "snapshots",
                                                    "scope": 1828,
                                                    "stateVariable": false,
                                                    "storageLocation": "storage",
                                                    "type": "struct Vault.BalanceSnapshot[]",
                                                    "value": null,
                                                    "visibility": "internal"
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "length": null,
                                                            "type": "struct Vault.BalanceSnapshot[]"
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "contractScope": null,
                                                                    "name": "BalanceSnapshot",
                                                                    "referencedDeclaration": 657,
                                                                    "type": "struct Vault.BalanceSnapshot"
                                                                },
                                                                "id": 1687,
                                                                "name": "UserDefinedTypeName",
                                                                "src": "16816:15:7"
                                                            }
                                                        ],
                                                        "id": 1688,
                                                        "name": "ArrayTypeName",
                                                        "src": "16816:17:7"
                                                    }
                                                ],
                                                "id": 1689,
                                                "name": "VariableDeclaration",
                                                "src": "16816:35:7"
                                            },
                                            {
                                                "attributes": {
                                                    "argumentTypes": null,
                                                    "isConstant": false,
                                                    "isLValue": true,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "type": "struct Vault.BalanceSnapshot storage ref[] storage ref"
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "isConstant": false,
                                                            "isLValue": true,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "type": "mapping(address => struct Vault.BalanceSnapshot storage ref[] storage ref)"
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "overloadedDeclarations": [
                                                                        null
                                                                    ],
                                                                    "referencedDeclaration": 664,
                                                                    "type": "mapping(address => mapping(address => struct Vault.BalanceSnapshot storage ref[] storage ref))",
                                                                    "value": "userSnapshots"
                                                                },
                                                                "id": 1690,
                                                                "name": "Identifier",
                                                                "src": "16854:13:7"
                                                            },
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "member_name": "sender",
                                                                    "referencedDeclaration": null,
                                                                    "type": "address payable"
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 3956,
                                                                            "type": "msg",
                                                                            "value": "msg"
                                                                        },
                                                                        "id": 1691,
                                                                        "name": "Identifier",
                                                                        "src": "16868:3:7"
                                                                    }
                                                                ],
                                                                "id": 1692,
                                                                "name": "MemberAccess",
                                                                "src": "16868:10:7"
                                                            }
                                                        ],
                                                        "id": 1693,
                                                        "name": "IndexAccess",
                                                        "src": "16854:25:7"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "overloadedDeclarations": [
                                                                null
                                                            ],
                                                            "referencedDeclaration": 1675,
                                                            "type": "address",
                                                            "value": "token"
                                                        },
                                                        "id": 1694,
                                                        "name": "Identifier",
                                                        "src": "16880:5:7"
                                                    }
                                                ],
                                                "id": 1695,
                                                "name": "IndexAccess",
                                                "src": "16854:32:7"
                                            }
                                        ],
                                        "id": 1696,
                                        "name": "VariableDeclarationStatement",
                                        "src": "16816:70:7"
                                    },
                                    {
                                        "attributes": {
                                            "assignments": [
                                                1698
                                            ]
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "constant": false,
                                                    "name": "total",
                                                    "scope": 1828,
                                                    "stateVariable": false,
                                                    "storageLocation": "default",
                                                    "type": "uint256",
                                                    "value": null,
                                                    "visibility": "internal"
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "name": "uint256",
                                                            "type": "uint256"
                                                        },
                                                        "id": 1697,
                                                        "name": "ElementaryTypeName",
                                                        "src": "16897:7:7"
                                                    }
                                                ],
                                                "id": 1698,
                                                "name": "VariableDeclaration",
                                                "src": "16897:13:7"
                                            },
                                            {
                                                "attributes": {
                                                    "argumentTypes": null,
                                                    "hexvalue": "30",
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "subdenomination": null,
                                                    "token": "number",
                                                    "type": "int_const 0",
                                                    "value": "0"
                                                },
                                                "id": 1699,
                                                "name": "Literal",
                                                "src": "16913:1:7"
                                            }
                                        ],
                                        "id": 1700,
                                        "name": "VariableDeclarationStatement",
                                        "src": "16897:17:7"
                                    },
                                    {
                                        "attributes": {
                                            "assignments": [
                                                1702
                                            ]
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "constant": false,
                                                    "name": "count",
                                                    "scope": 1828,
                                                    "stateVariable": false,
                                                    "storageLocation": "default",
                                                    "type": "uint256",
                                                    "value": null,
                                                    "visibility": "internal"
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "name": "uint256",
                                                            "type": "uint256"
                                                        },
                                                        "id": 1701,
                                                        "name": "ElementaryTypeName",
                                                        "src": "16925:7:7"
                                                    }
                                                ],
                                                "id": 1702,
                                                "name": "VariableDeclaration",
                                                "src": "16925:13:7"
                                            },
                                            {
                                                "attributes": {
                                                    "argumentTypes": null,
                                                    "hexvalue": "30",
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "subdenomination": null,
                                                    "token": "number",
                                                    "type": "int_const 0",
                                                    "value": "0"
                                                },
                                                "id": 1703,
                                                "name": "Literal",
                                                "src": "16941:1:7"
                                            }
                                        ],
                                        "id": 1704,
                                        "name": "VariableDeclarationStatement",
                                        "src": "16925:17:7"
                                    },
                                    {
                                        "attributes": {
                                            "assignments": [
                                                1706
                                            ]
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "constant": false,
                                                    "name": "fee",
                                                    "scope": 1828,
                                                    "stateVariable": false,
                                                    "storageLocation": "default",
                                                    "type": "uint256",
                                                    "value": null,
                                                    "visibility": "internal"
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "name": "uint256",
                                                            "type": "uint256"
                                                        },
                                                        "id": 1705,
                                                        "name": "ElementaryTypeName",
                                                        "src": "16953:7:7"
                                                    }
                                                ],
                                                "id": 1706,
                                                "name": "VariableDeclaration",
                                                "src": "16953:11:7"
                                            },
                                            {
                                                "attributes": {
                                                    "argumentTypes": null,
                                                    "hexvalue": "30",
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "subdenomination": null,
                                                    "token": "number",
                                                    "type": "int_const 0",
                                                    "value": "0"
                                                },
                                                "id": 1707,
                                                "name": "Literal",
                                                "src": "16967:1:7"
                                            }
                                        ],
                                        "id": 1708,
                                        "name": "VariableDeclarationStatement",
                                        "src": "16953:15:7"
                                    },
                                    {
                                        "children": [
                                            {
                                                "attributes": {
                                                    "assignments": [
                                                        1710
                                                    ]
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "constant": false,
                                                            "name": "i",
                                                            "scope": 1746,
                                                            "stateVariable": false,
                                                            "storageLocation": "default",
                                                            "type": "uint256",
                                                            "value": null,
                                                            "visibility": "internal"
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "name": "uint",
                                                                    "type": "uint256"
                                                                },
                                                                "id": 1709,
                                                                "name": "ElementaryTypeName",
                                                                "src": "16986:4:7"
                                                            }
                                                        ],
                                                        "id": 1710,
                                                        "name": "VariableDeclaration",
                                                        "src": "16986:6:7"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "hexvalue": "30",
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": true,
                                                            "lValueRequested": false,
                                                            "subdenomination": null,
                                                            "token": "number",
                                                            "type": "int_const 0",
                                                            "value": "0"
                                                        },
                                                        "id": 1711,
                                                        "name": "Literal",
                                                        "src": "16995:1:7"
                                                    }
                                                ],
                                                "id": 1712,
                                                "name": "VariableDeclarationStatement",
                                                "src": "16986:10:7"
                                            },
                                            {
                                                "attributes": {
                                                    "argumentTypes": null,
                                                    "commonType": {
                                                        "typeIdentifier": "t_uint256",
                                                        "typeString": "uint256"
                                                    },
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "operator": "<",
                                                    "type": "bool"
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "overloadedDeclarations": [
                                                                null
                                                            ],
                                                            "referencedDeclaration": 1710,
                                                            "type": "uint256",
                                                            "value": "i"
                                                        },
                                                        "id": 1713,
                                                        "name": "Identifier",
                                                        "src": "16998:1:7"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "isConstant": false,
                                                            "isLValue": true,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "member_name": "length",
                                                            "referencedDeclaration": null,
                                                            "type": "uint256"
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "overloadedDeclarations": [
                                                                        null
                                                                    ],
                                                                    "referencedDeclaration": 1689,
                                                                    "type": "struct Vault.BalanceSnapshot storage ref[] storage pointer",
                                                                    "value": "snapshots"
                                                                },
                                                                "id": 1714,
                                                                "name": "Identifier",
                                                                "src": "17002:9:7"
                                                            }
                                                        ],
                                                        "id": 1715,
                                                        "name": "MemberAccess",
                                                        "src": "17002:16:7"
                                                    }
                                                ],
                                                "id": 1716,
                                                "name": "BinaryOperation",
                                                "src": "16998:20:7"
                                            },
                                            {
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "operator": "++",
                                                            "prefix": false,
                                                            "type": "uint256"
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "overloadedDeclarations": [
                                                                        null
                                                                    ],
                                                                    "referencedDeclaration": 1710,
                                                                    "type": "uint256",
                                                                    "value": "i"
                                                                },
                                                                "id": 1717,
                                                                "name": "Identifier",
                                                                "src": "17020:1:7"
                                                            }
                                                        ],
                                                        "id": 1718,
                                                        "name": "UnaryOperation",
                                                        "src": "17020:3:7"
                                                    }
                                                ],
                                                "id": 1719,
                                                "name": "ExpressionStatement",
                                                "src": "17020:3:7"
                                            },
                                            {
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "falseBody": null
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "commonType": {
                                                                        "typeIdentifier": "t_bool",
                                                                        "typeString": "bool"
                                                                    },
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "operator": "&&",
                                                                    "type": "bool"
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "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": "timestamp",
                                                                                    "referencedDeclaration": 654,
                                                                                    "type": "uint256"
                                                                                },
                                                                                "children": [
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "isConstant": false,
                                                                                            "isLValue": true,
                                                                                            "isPure": false,
                                                                                            "lValueRequested": false,
                                                                                            "type": "struct Vault.BalanceSnapshot storage ref"
                                                                                        },
                                                                                        "children": [
                                                                                            {
                                                                                                "attributes": {
                                                                                                    "argumentTypes": null,
                                                                                                    "overloadedDeclarations": [
                                                                                                        null
                                                                                                    ],
                                                                                                    "referencedDeclaration": 1689,
                                                                                                    "type": "struct Vault.BalanceSnapshot storage ref[] storage pointer",
                                                                                                    "value": "snapshots"
                                                                                                },
                                                                                                "id": 1720,
                                                                                                "name": "Identifier",
                                                                                                "src": "17044:9:7"
                                                                                            },
                                                                                            {
                                                                                                "attributes": {
                                                                                                    "argumentTypes": null,
                                                                                                    "overloadedDeclarations": [
                                                                                                        null
                                                                                                    ],
                                                                                                    "referencedDeclaration": 1710,
                                                                                                    "type": "uint256",
                                                                                                    "value": "i"
                                                                                                },
                                                                                                "id": 1721,
                                                                                                "name": "Identifier",
                                                                                                "src": "17054:1:7"
                                                                                            }
                                                                                        ],
                                                                                        "id": 1722,
                                                                                        "name": "IndexAccess",
                                                                                        "src": "17044:12:7"
                                                                                    }
                                                                                ],
                                                                                "id": 1723,
                                                                                "name": "MemberAccess",
                                                                                "src": "17044:22:7"
                                                                            },
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "overloadedDeclarations": [
                                                                                        null
                                                                                    ],
                                                                                    "referencedDeclaration": 1677,
                                                                                    "type": "uint256",
                                                                                    "value": "fromTime"
                                                                                },
                                                                                "id": 1724,
                                                                                "name": "Identifier",
                                                                                "src": "17070:8:7"
                                                                            }
                                                                        ],
                                                                        "id": 1725,
                                                                        "name": "BinaryOperation",
                                                                        "src": "17044:34:7"
                                                                    },
                                                                    {
                                                                        "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": "timestamp",
                                                                                    "referencedDeclaration": 654,
                                                                                    "type": "uint256"
                                                                                },
                                                                                "children": [
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "isConstant": false,
                                                                                            "isLValue": true,
                                                                                            "isPure": false,
                                                                                            "lValueRequested": false,
                                                                                            "type": "struct Vault.BalanceSnapshot storage ref"
                                                                                        },
                                                                                        "children": [
                                                                                            {
                                                                                                "attributes": {
                                                                                                    "argumentTypes": null,
                                                                                                    "overloadedDeclarations": [
                                                                                                        null
                                                                                                    ],
                                                                                                    "referencedDeclaration": 1689,
                                                                                                    "type": "struct Vault.BalanceSnapshot storage ref[] storage pointer",
                                                                                                    "value": "snapshots"
                                                                                                },
                                                                                                "id": 1726,
                                                                                                "name": "Identifier",
                                                                                                "src": "17082:9:7"
                                                                                            },
                                                                                            {
                                                                                                "attributes": {
                                                                                                    "argumentTypes": null,
                                                                                                    "overloadedDeclarations": [
                                                                                                        null
                                                                                                    ],
                                                                                                    "referencedDeclaration": 1710,
                                                                                                    "type": "uint256",
                                                                                                    "value": "i"
                                                                                                },
                                                                                                "id": 1727,
                                                                                                "name": "Identifier",
                                                                                                "src": "17092:1:7"
                                                                                            }
                                                                                        ],
                                                                                        "id": 1728,
                                                                                        "name": "IndexAccess",
                                                                                        "src": "17082:12:7"
                                                                                    }
                                                                                ],
                                                                                "id": 1729,
                                                                                "name": "MemberAccess",
                                                                                "src": "17082:22:7"
                                                                            },
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "overloadedDeclarations": [
                                                                                        null
                                                                                    ],
                                                                                    "referencedDeclaration": 1679,
                                                                                    "type": "uint256",
                                                                                    "value": "toTime"
                                                                                },
                                                                                "id": 1730,
                                                                                "name": "Identifier",
                                                                                "src": "17108:6:7"
                                                                            }
                                                                        ],
                                                                        "id": 1731,
                                                                        "name": "BinaryOperation",
                                                                        "src": "17082:32:7"
                                                                    }
                                                                ],
                                                                "id": 1732,
                                                                "name": "BinaryOperation",
                                                                "src": "17044:70:7"
                                                            },
                                                            {
                                                                "children": [
                                                                    {
                                                                        "children": [
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "isConstant": false,
                                                                                    "isLValue": false,
                                                                                    "isPure": false,
                                                                                    "lValueRequested": false,
                                                                                    "operator": "+=",
                                                                                    "type": "uint256"
                                                                                },
                                                                                "children": [
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "overloadedDeclarations": [
                                                                                                null
                                                                                            ],
                                                                                            "referencedDeclaration": 1698,
                                                                                            "type": "uint256",
                                                                                            "value": "total"
                                                                                        },
                                                                                        "id": 1733,
                                                                                        "name": "Identifier",
                                                                                        "src": "17135:5:7"
                                                                                    },
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "isConstant": false,
                                                                                            "isLValue": true,
                                                                                            "isPure": false,
                                                                                            "lValueRequested": false,
                                                                                            "member_name": "balance",
                                                                                            "referencedDeclaration": 656,
                                                                                            "type": "uint256"
                                                                                        },
                                                                                        "children": [
                                                                                            {
                                                                                                "attributes": {
                                                                                                    "argumentTypes": null,
                                                                                                    "isConstant": false,
                                                                                                    "isLValue": true,
                                                                                                    "isPure": false,
                                                                                                    "lValueRequested": false,
                                                                                                    "type": "struct Vault.BalanceSnapshot storage ref"
                                                                                                },
                                                                                                "children": [
                                                                                                    {
                                                                                                        "attributes": {
                                                                                                            "argumentTypes": null,
                                                                                                            "overloadedDeclarations": [
                                                                                                                null
                                                                                                            ],
                                                                                                            "referencedDeclaration": 1689,
                                                                                                            "type": "struct Vault.BalanceSnapshot storage ref[] storage pointer",
                                                                                                            "value": "snapshots"
                                                                                                        },
                                                                                                        "id": 1734,
                                                                                                        "name": "Identifier",
                                                                                                        "src": "17144:9:7"
                                                                                                    },
                                                                                                    {
                                                                                                        "attributes": {
                                                                                                            "argumentTypes": null,
                                                                                                            "overloadedDeclarations": [
                                                                                                                null
                                                                                                            ],
                                                                                                            "referencedDeclaration": 1710,
                                                                                                            "type": "uint256",
                                                                                                            "value": "i"
                                                                                                        },
                                                                                                        "id": 1735,
                                                                                                        "name": "Identifier",
                                                                                                        "src": "17154:1:7"
                                                                                                    }
                                                                                                ],
                                                                                                "id": 1736,
                                                                                                "name": "IndexAccess",
                                                                                                "src": "17144:12:7"
                                                                                            }
                                                                                        ],
                                                                                        "id": 1737,
                                                                                        "name": "MemberAccess",
                                                                                        "src": "17144:20:7"
                                                                                    }
                                                                                ],
                                                                                "id": 1738,
                                                                                "name": "Assignment",
                                                                                "src": "17135:29:7"
                                                                            }
                                                                        ],
                                                                        "id": 1739,
                                                                        "name": "ExpressionStatement",
                                                                        "src": "17135:29:7"
                                                                    },
                                                                    {
                                                                        "children": [
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "isConstant": false,
                                                                                    "isLValue": false,
                                                                                    "isPure": false,
                                                                                    "lValueRequested": false,
                                                                                    "operator": "++",
                                                                                    "prefix": false,
                                                                                    "type": "uint256"
                                                                                },
                                                                                "children": [
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "overloadedDeclarations": [
                                                                                                null
                                                                                            ],
                                                                                            "referencedDeclaration": 1702,
                                                                                            "type": "uint256",
                                                                                            "value": "count"
                                                                                        },
                                                                                        "id": 1740,
                                                                                        "name": "Identifier",
                                                                                        "src": "17183:5:7"
                                                                                    }
                                                                                ],
                                                                                "id": 1741,
                                                                                "name": "UnaryOperation",
                                                                                "src": "17183:7:7"
                                                                            }
                                                                        ],
                                                                        "id": 1742,
                                                                        "name": "ExpressionStatement",
                                                                        "src": "17183:7:7"
                                                                    }
                                                                ],
                                                                "id": 1743,
                                                                "name": "Block",
                                                                "src": "17116:106:7"
                                                            }
                                                        ],
                                                        "id": 1744,
                                                        "name": "IfStatement",
                                                        "src": "17040:182:7"
                                                    }
                                                ],
                                                "id": 1745,
                                                "name": "Block",
                                                "src": "17025:208:7"
                                            }
                                        ],
                                        "id": 1746,
                                        "name": "ForStatement",
                                        "src": "16981:252:7"
                                    },
                                    {
                                        "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_uint256",
                                                                    "typeString": "uint256"
                                                                },
                                                                {
                                                                    "typeIdentifier": "t_uint256",
                                                                    "typeString": "uint256"
                                                                }
                                                            ],
                                                            "overloadedDeclarations": [
                                                                null
                                                            ],
                                                            "referencedDeclaration": 1661,
                                                            "type": "function (uint256,uint256)",
                                                            "value": "totalCount"
                                                        },
                                                        "id": 1747,
                                                        "name": "Identifier",
                                                        "src": "17248:10:7"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "overloadedDeclarations": [
                                                                null
                                                            ],
                                                            "referencedDeclaration": 1698,
                                                            "type": "uint256",
                                                            "value": "total"
                                                        },
                                                        "id": 1748,
                                                        "name": "Identifier",
                                                        "src": "17259:5:7"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "overloadedDeclarations": [
                                                                null
                                                            ],
                                                            "referencedDeclaration": 1702,
                                                            "type": "uint256",
                                                            "value": "count"
                                                        },
                                                        "id": 1749,
                                                        "name": "Identifier",
                                                        "src": "17266:5:7"
                                                    }
                                                ],
                                                "id": 1750,
                                                "name": "FunctionCall",
                                                "src": "17248:24:7"
                                            }
                                        ],
                                        "id": 1751,
                                        "name": "EmitStatement",
                                        "src": "17243:29:7"
                                    },
                                    {
                                        "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,
                                                            "overloadedDeclarations": [
                                                                null
                                                            ],
                                                            "referencedDeclaration": 1702,
                                                            "type": "uint256",
                                                            "value": "count"
                                                        },
                                                        "id": 1752,
                                                        "name": "Identifier",
                                                        "src": "17287:5:7"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "hexvalue": "30",
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": true,
                                                            "lValueRequested": false,
                                                            "subdenomination": null,
                                                            "token": "number",
                                                            "type": "int_const 0",
                                                            "value": "0"
                                                        },
                                                        "id": 1753,
                                                        "name": "Literal",
                                                        "src": "17296:1:7"
                                                    }
                                                ],
                                                "id": 1754,
                                                "name": "BinaryOperation",
                                                "src": "17287:10:7"
                                            },
                                            {
                                                "children": [
                                                    {
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "operator": "=",
                                                                    "type": "uint256"
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 1706,
                                                                            "type": "uint256",
                                                                            "value": "fee"
                                                                        },
                                                                        "id": 1755,
                                                                        "name": "Identifier",
                                                                        "src": "17313:3:7"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "isConstant": false,
                                                                            "isLValue": false,
                                                                            "isPure": false,
                                                                            "isStructConstructorCall": false,
                                                                            "lValueRequested": false,
                                                                            "names": [
                                                                                null
                                                                            ],
                                                                            "type": "uint256",
                                                                            "type_conversion": false
                                                                        },
                                                                        "children": [
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": [
                                                                                        {
                                                                                            "typeIdentifier": "t_uint256",
                                                                                            "typeString": "uint256"
                                                                                        },
                                                                                        {
                                                                                            "typeIdentifier": "t_uint256",
                                                                                            "typeString": "uint256"
                                                                                        }
                                                                                    ],
                                                                                    "isConstant": false,
                                                                                    "isLValue": false,
                                                                                    "isPure": false,
                                                                                    "lValueRequested": false,
                                                                                    "member_name": "divDown",
                                                                                    "referencedDeclaration": 2153,
                                                                                    "type": "function (uint256,uint256) pure returns (uint256)"
                                                                                },
                                                                                "children": [
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "overloadedDeclarations": [
                                                                                                null
                                                                                            ],
                                                                                            "referencedDeclaration": 2367,
                                                                                            "type": "type(library FixedPoint)",
                                                                                            "value": "FixedPoint"
                                                                                        },
                                                                                        "id": 1756,
                                                                                        "name": "Identifier",
                                                                                        "src": "17319:10:7"
                                                                                    }
                                                                                ],
                                                                                "id": 1757,
                                                                                "name": "MemberAccess",
                                                                                "src": "17319:18:7"
                                                                            },
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "isConstant": false,
                                                                                    "isLValue": false,
                                                                                    "isPure": false,
                                                                                    "isStructConstructorCall": false,
                                                                                    "lValueRequested": false,
                                                                                    "names": [
                                                                                        null
                                                                                    ],
                                                                                    "type": "uint256",
                                                                                    "type_conversion": false
                                                                                },
                                                                                "children": [
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": [
                                                                                                {
                                                                                                    "typeIdentifier": "t_uint256",
                                                                                                    "typeString": "uint256"
                                                                                                },
                                                                                                {
                                                                                                    "typeIdentifier": "t_uint256",
                                                                                                    "typeString": "uint256"
                                                                                                }
                                                                                            ],
                                                                                            "isConstant": false,
                                                                                            "isLValue": false,
                                                                                            "isPure": false,
                                                                                            "lValueRequested": false,
                                                                                            "member_name": "mulDown",
                                                                                            "referencedDeclaration": 2062,
                                                                                            "type": "function (uint256,uint256) pure returns (uint256)"
                                                                                        },
                                                                                        "children": [
                                                                                            {
                                                                                                "attributes": {
                                                                                                    "argumentTypes": null,
                                                                                                    "overloadedDeclarations": [
                                                                                                        null
                                                                                                    ],
                                                                                                    "referencedDeclaration": 2367,
                                                                                                    "type": "type(library FixedPoint)",
                                                                                                    "value": "FixedPoint"
                                                                                                },
                                                                                                "id": 1758,
                                                                                                "name": "Identifier",
                                                                                                "src": "17338:10:7"
                                                                                            }
                                                                                        ],
                                                                                        "id": 1759,
                                                                                        "name": "MemberAccess",
                                                                                        "src": "17338:18:7"
                                                                                    },
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "overloadedDeclarations": [
                                                                                                null
                                                                                            ],
                                                                                            "referencedDeclaration": 571,
                                                                                            "type": "uint256",
                                                                                            "value": "custodyfee"
                                                                                        },
                                                                                        "id": 1760,
                                                                                        "name": "Identifier",
                                                                                        "src": "17357:10:7"
                                                                                    },
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "isConstant": false,
                                                                                            "isLValue": false,
                                                                                            "isPure": false,
                                                                                            "isStructConstructorCall": false,
                                                                                            "lValueRequested": false,
                                                                                            "names": [
                                                                                                null
                                                                                            ],
                                                                                            "type": "uint256",
                                                                                            "type_conversion": false
                                                                                        },
                                                                                        "children": [
                                                                                            {
                                                                                                "attributes": {
                                                                                                    "argumentTypes": [
                                                                                                        {
                                                                                                            "typeIdentifier": "t_uint256",
                                                                                                            "typeString": "uint256"
                                                                                                        },
                                                                                                        {
                                                                                                            "typeIdentifier": "t_uint256",
                                                                                                            "typeString": "uint256"
                                                                                                        }
                                                                                                    ],
                                                                                                    "isConstant": false,
                                                                                                    "isLValue": false,
                                                                                                    "isPure": false,
                                                                                                    "lValueRequested": false,
                                                                                                    "member_name": "divDown",
                                                                                                    "referencedDeclaration": 2153,
                                                                                                    "type": "function (uint256,uint256) pure returns (uint256)"
                                                                                                },
                                                                                                "children": [
                                                                                                    {
                                                                                                        "attributes": {
                                                                                                            "argumentTypes": null,
                                                                                                            "overloadedDeclarations": [
                                                                                                                null
                                                                                                            ],
                                                                                                            "referencedDeclaration": 2367,
                                                                                                            "type": "type(library FixedPoint)",
                                                                                                            "value": "FixedPoint"
                                                                                                        },
                                                                                                        "id": 1761,
                                                                                                        "name": "Identifier",
                                                                                                        "src": "17369:10:7"
                                                                                                    }
                                                                                                ],
                                                                                                "id": 1762,
                                                                                                "name": "MemberAccess",
                                                                                                "src": "17369:18:7"
                                                                                            },
                                                                                            {
                                                                                                "attributes": {
                                                                                                    "argumentTypes": null,
                                                                                                    "overloadedDeclarations": [
                                                                                                        null
                                                                                                    ],
                                                                                                    "referencedDeclaration": 1698,
                                                                                                    "type": "uint256",
                                                                                                    "value": "total"
                                                                                                },
                                                                                                "id": 1763,
                                                                                                "name": "Identifier",
                                                                                                "src": "17388:5:7"
                                                                                            },
                                                                                            {
                                                                                                "attributes": {
                                                                                                    "argumentTypes": null,
                                                                                                    "overloadedDeclarations": [
                                                                                                        null
                                                                                                    ],
                                                                                                    "referencedDeclaration": 1702,
                                                                                                    "type": "uint256",
                                                                                                    "value": "count"
                                                                                                },
                                                                                                "id": 1764,
                                                                                                "name": "Identifier",
                                                                                                "src": "17395:5:7"
                                                                                            }
                                                                                        ],
                                                                                        "id": 1765,
                                                                                        "name": "FunctionCall",
                                                                                        "src": "17369:32:7"
                                                                                    }
                                                                                ],
                                                                                "id": 1766,
                                                                                "name": "FunctionCall",
                                                                                "src": "17338:64:7"
                                                                            },
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "isConstant": false,
                                                                                    "isLValue": false,
                                                                                    "isPure": false,
                                                                                    "isStructConstructorCall": false,
                                                                                    "lValueRequested": false,
                                                                                    "names": [
                                                                                        null
                                                                                    ],
                                                                                    "type": "uint256",
                                                                                    "type_conversion": false
                                                                                },
                                                                                "children": [
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": [
                                                                                                {
                                                                                                    "typeIdentifier": "t_contract$_IERC20_$289",
                                                                                                    "typeString": "contract IERC20"
                                                                                                }
                                                                                            ],
                                                                                            "overloadedDeclarations": [
                                                                                                null
                                                                                            ],
                                                                                            "referencedDeclaration": 1916,
                                                                                            "type": "function (contract IERC20) view returns (uint256)",
                                                                                            "value": "_computeScalingFactor"
                                                                                        },
                                                                                        "id": 1767,
                                                                                        "name": "Identifier",
                                                                                        "src": "17404:21:7"
                                                                                    },
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "isConstant": false,
                                                                                            "isLValue": false,
                                                                                            "isPure": false,
                                                                                            "isStructConstructorCall": false,
                                                                                            "lValueRequested": false,
                                                                                            "names": [
                                                                                                null
                                                                                            ],
                                                                                            "type": "contract IERC20",
                                                                                            "type_conversion": true
                                                                                        },
                                                                                        "children": [
                                                                                            {
                                                                                                "attributes": {
                                                                                                    "argumentTypes": [
                                                                                                        {
                                                                                                            "typeIdentifier": "t_address",
                                                                                                            "typeString": "address"
                                                                                                        }
                                                                                                    ],
                                                                                                    "overloadedDeclarations": [
                                                                                                        null
                                                                                                    ],
                                                                                                    "referencedDeclaration": 289,
                                                                                                    "type": "type(contract IERC20)",
                                                                                                    "value": "IERC20"
                                                                                                },
                                                                                                "id": 1768,
                                                                                                "name": "Identifier",
                                                                                                "src": "17426:6:7"
                                                                                            },
                                                                                            {
                                                                                                "attributes": {
                                                                                                    "argumentTypes": null,
                                                                                                    "overloadedDeclarations": [
                                                                                                        null
                                                                                                    ],
                                                                                                    "referencedDeclaration": 1675,
                                                                                                    "type": "address",
                                                                                                    "value": "token"
                                                                                                },
                                                                                                "id": 1769,
                                                                                                "name": "Identifier",
                                                                                                "src": "17433:5:7"
                                                                                            }
                                                                                        ],
                                                                                        "id": 1770,
                                                                                        "name": "FunctionCall",
                                                                                        "src": "17426:13:7"
                                                                                    }
                                                                                ],
                                                                                "id": 1771,
                                                                                "name": "FunctionCall",
                                                                                "src": "17404:36:7"
                                                                            }
                                                                        ],
                                                                        "id": 1772,
                                                                        "name": "FunctionCall",
                                                                        "src": "17319:122:7"
                                                                    }
                                                                ],
                                                                "id": 1773,
                                                                "name": "Assignment",
                                                                "src": "17313:128:7"
                                                            }
                                                        ],
                                                        "id": 1774,
                                                        "name": "ExpressionStatement",
                                                        "src": "17313:128:7"
                                                    },
                                                    {
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "operator": "=",
                                                                    "type": "uint256"
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 1706,
                                                                            "type": "uint256",
                                                                            "value": "fee"
                                                                        },
                                                                        "id": 1775,
                                                                        "name": "Identifier",
                                                                        "src": "17463:3:7"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "isConstant": false,
                                                                            "isLValue": false,
                                                                            "isPure": false,
                                                                            "isStructConstructorCall": false,
                                                                            "lValueRequested": false,
                                                                            "names": [
                                                                                null
                                                                            ],
                                                                            "type": "uint256",
                                                                            "type_conversion": false
                                                                        },
                                                                        "children": [
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": [
                                                                                        {
                                                                                            "typeIdentifier": "t_uint256",
                                                                                            "typeString": "uint256"
                                                                                        },
                                                                                        {
                                                                                            "typeIdentifier": "t_uint256",
                                                                                            "typeString": "uint256"
                                                                                        }
                                                                                    ],
                                                                                    "overloadedDeclarations": [
                                                                                        null
                                                                                    ],
                                                                                    "referencedDeclaration": 1932,
                                                                                    "type": "function (uint256,uint256) pure returns (uint256)",
                                                                                    "value": "_downscaleDown"
                                                                                },
                                                                                "id": 1776,
                                                                                "name": "Identifier",
                                                                                "src": "17469:14:7"
                                                                            },
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "overloadedDeclarations": [
                                                                                        null
                                                                                    ],
                                                                                    "referencedDeclaration": 1706,
                                                                                    "type": "uint256",
                                                                                    "value": "fee"
                                                                                },
                                                                                "id": 1777,
                                                                                "name": "Identifier",
                                                                                "src": "17484:3:7"
                                                                            },
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "isConstant": false,
                                                                                    "isLValue": false,
                                                                                    "isPure": false,
                                                                                    "isStructConstructorCall": false,
                                                                                    "lValueRequested": false,
                                                                                    "names": [
                                                                                        null
                                                                                    ],
                                                                                    "type": "uint256",
                                                                                    "type_conversion": false
                                                                                },
                                                                                "children": [
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": [
                                                                                                {
                                                                                                    "typeIdentifier": "t_contract$_IERC20_$289",
                                                                                                    "typeString": "contract IERC20"
                                                                                                }
                                                                                            ],
                                                                                            "overloadedDeclarations": [
                                                                                                null
                                                                                            ],
                                                                                            "referencedDeclaration": 1916,
                                                                                            "type": "function (contract IERC20) view returns (uint256)",
                                                                                            "value": "_computeScalingFactor"
                                                                                        },
                                                                                        "id": 1778,
                                                                                        "name": "Identifier",
                                                                                        "src": "17489:21:7"
                                                                                    },
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "isConstant": false,
                                                                                            "isLValue": false,
                                                                                            "isPure": false,
                                                                                            "isStructConstructorCall": false,
                                                                                            "lValueRequested": false,
                                                                                            "names": [
                                                                                                null
                                                                                            ],
                                                                                            "type": "contract IERC20",
                                                                                            "type_conversion": true
                                                                                        },
                                                                                        "children": [
                                                                                            {
                                                                                                "attributes": {
                                                                                                    "argumentTypes": [
                                                                                                        {
                                                                                                            "typeIdentifier": "t_address",
                                                                                                            "typeString": "address"
                                                                                                        }
                                                                                                    ],
                                                                                                    "overloadedDeclarations": [
                                                                                                        null
                                                                                                    ],
                                                                                                    "referencedDeclaration": 289,
                                                                                                    "type": "type(contract IERC20)",
                                                                                                    "value": "IERC20"
                                                                                                },
                                                                                                "id": 1779,
                                                                                                "name": "Identifier",
                                                                                                "src": "17511:6:7"
                                                                                            },
                                                                                            {
                                                                                                "attributes": {
                                                                                                    "argumentTypes": null,
                                                                                                    "overloadedDeclarations": [
                                                                                                        null
                                                                                                    ],
                                                                                                    "referencedDeclaration": 1675,
                                                                                                    "type": "address",
                                                                                                    "value": "token"
                                                                                                },
                                                                                                "id": 1780,
                                                                                                "name": "Identifier",
                                                                                                "src": "17518:5:7"
                                                                                            }
                                                                                        ],
                                                                                        "id": 1781,
                                                                                        "name": "FunctionCall",
                                                                                        "src": "17511:13:7"
                                                                                    }
                                                                                ],
                                                                                "id": 1782,
                                                                                "name": "FunctionCall",
                                                                                "src": "17489:36:7"
                                                                            }
                                                                        ],
                                                                        "id": 1783,
                                                                        "name": "FunctionCall",
                                                                        "src": "17469:57:7"
                                                                    }
                                                                ],
                                                                "id": 1784,
                                                                "name": "Assignment",
                                                                "src": "17463:63:7"
                                                            }
                                                        ],
                                                        "id": 1785,
                                                        "name": "ExpressionStatement",
                                                        "src": "17463:63:7"
                                                    },
                                                    {
                                                        "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_uint256",
                                                                                    "typeString": "uint256"
                                                                                },
                                                                                {
                                                                                    "typeIdentifier": "t_uint256",
                                                                                    "typeString": "uint256"
                                                                                },
                                                                                {
                                                                                    "typeIdentifier": "t_uint256",
                                                                                    "typeString": "uint256"
                                                                                }
                                                                            ],
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 1669,
                                                                            "type": "function (uint256,uint256,uint256)",
                                                                            "value": "avgBalance"
                                                                        },
                                                                        "id": 1786,
                                                                        "name": "Identifier",
                                                                        "src": "17546:10:7"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "isConstant": false,
                                                                            "isLValue": true,
                                                                            "isPure": false,
                                                                            "lValueRequested": false,
                                                                            "type": "uint256"
                                                                        },
                                                                        "children": [
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "overloadedDeclarations": [
                                                                                        null
                                                                                    ],
                                                                                    "referencedDeclaration": 668,
                                                                                    "type": "mapping(address => uint256)",
                                                                                    "value": "fees"
                                                                                },
                                                                                "id": 1787,
                                                                                "name": "Identifier",
                                                                                "src": "17557:4:7"
                                                                            },
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "overloadedDeclarations": [
                                                                                        null
                                                                                    ],
                                                                                    "referencedDeclaration": 1675,
                                                                                    "type": "address",
                                                                                    "value": "token"
                                                                                },
                                                                                "id": 1788,
                                                                                "name": "Identifier",
                                                                                "src": "17562:5:7"
                                                                            }
                                                                        ],
                                                                        "id": 1789,
                                                                        "name": "IndexAccess",
                                                                        "src": "17557:11:7"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 571,
                                                                            "type": "uint256",
                                                                            "value": "custodyfee"
                                                                        },
                                                                        "id": 1790,
                                                                        "name": "Identifier",
                                                                        "src": "17570:10:7"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 1706,
                                                                            "type": "uint256",
                                                                            "value": "fee"
                                                                        },
                                                                        "id": 1791,
                                                                        "name": "Identifier",
                                                                        "src": "17582:3:7"
                                                                    }
                                                                ],
                                                                "id": 1792,
                                                                "name": "FunctionCall",
                                                                "src": "17546:40:7"
                                                            }
                                                        ],
                                                        "id": 1793,
                                                        "name": "EmitStatement",
                                                        "src": "17541:45:7"
                                                    },
                                                    {
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": false,
                                                                    "isStructConstructorCall": false,
                                                                    "lValueRequested": false,
                                                                    "names": [
                                                                        null
                                                                    ],
                                                                    "type": "bool",
                                                                    "type_conversion": false
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": [
                                                                                {
                                                                                    "typeIdentifier": "t_address_payable",
                                                                                    "typeString": "address payable"
                                                                                },
                                                                                {
                                                                                    "typeIdentifier": "t_address",
                                                                                    "typeString": "address"
                                                                                },
                                                                                {
                                                                                    "typeIdentifier": "t_uint256",
                                                                                    "typeString": "uint256"
                                                                                }
                                                                            ],
                                                                            "isConstant": false,
                                                                            "isLValue": false,
                                                                            "isPure": false,
                                                                            "lValueRequested": false,
                                                                            "member_name": "transferFrom",
                                                                            "referencedDeclaration": 272,
                                                                            "type": "function (address,address,uint256) external returns (bool)"
                                                                        },
                                                                        "children": [
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "isConstant": false,
                                                                                    "isLValue": false,
                                                                                    "isPure": false,
                                                                                    "isStructConstructorCall": false,
                                                                                    "lValueRequested": false,
                                                                                    "names": [
                                                                                        null
                                                                                    ],
                                                                                    "type": "contract IERC20",
                                                                                    "type_conversion": true
                                                                                },
                                                                                "children": [
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": [
                                                                                                {
                                                                                                    "typeIdentifier": "t_address",
                                                                                                    "typeString": "address"
                                                                                                }
                                                                                            ],
                                                                                            "overloadedDeclarations": [
                                                                                                null
                                                                                            ],
                                                                                            "referencedDeclaration": 289,
                                                                                            "type": "type(contract IERC20)",
                                                                                            "value": "IERC20"
                                                                                        },
                                                                                        "id": 1794,
                                                                                        "name": "Identifier",
                                                                                        "src": "17601:6:7"
                                                                                    },
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "overloadedDeclarations": [
                                                                                                null
                                                                                            ],
                                                                                            "referencedDeclaration": 1675,
                                                                                            "type": "address",
                                                                                            "value": "token"
                                                                                        },
                                                                                        "id": 1795,
                                                                                        "name": "Identifier",
                                                                                        "src": "17608:5:7"
                                                                                    }
                                                                                ],
                                                                                "id": 1796,
                                                                                "name": "FunctionCall",
                                                                                "src": "17601:13:7"
                                                                            }
                                                                        ],
                                                                        "id": 1797,
                                                                        "name": "MemberAccess",
                                                                        "src": "17601:26:7"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "isConstant": false,
                                                                            "isLValue": false,
                                                                            "isPure": false,
                                                                            "lValueRequested": false,
                                                                            "member_name": "sender",
                                                                            "referencedDeclaration": null,
                                                                            "type": "address payable"
                                                                        },
                                                                        "children": [
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "overloadedDeclarations": [
                                                                                        null
                                                                                    ],
                                                                                    "referencedDeclaration": 3956,
                                                                                    "type": "msg",
                                                                                    "value": "msg"
                                                                                },
                                                                                "id": 1798,
                                                                                "name": "Identifier",
                                                                                "src": "17628:3:7"
                                                                            }
                                                                        ],
                                                                        "id": 1799,
                                                                        "name": "MemberAccess",
                                                                        "src": "17628:10:7"
                                                                    },
                                                                    {
                                                                        "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$_Vault_$1949",
                                                                                            "typeString": "contract Vault"
                                                                                        }
                                                                                    ],
                                                                                    "isConstant": false,
                                                                                    "isLValue": false,
                                                                                    "isPure": true,
                                                                                    "lValueRequested": false,
                                                                                    "type": "type(address)",
                                                                                    "value": "address"
                                                                                },
                                                                                "id": 1800,
                                                                                "name": "ElementaryTypeNameExpression",
                                                                                "src": "17640:7:7"
                                                                            },
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "overloadedDeclarations": [
                                                                                        null
                                                                                    ],
                                                                                    "referencedDeclaration": 3990,
                                                                                    "type": "contract Vault",
                                                                                    "value": "this"
                                                                                },
                                                                                "id": 1801,
                                                                                "name": "Identifier",
                                                                                "src": "17648:4:7"
                                                                            }
                                                                        ],
                                                                        "id": 1802,
                                                                        "name": "FunctionCall",
                                                                        "src": "17640:13:7"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 1706,
                                                                            "type": "uint256",
                                                                            "value": "fee"
                                                                        },
                                                                        "id": 1803,
                                                                        "name": "Identifier",
                                                                        "src": "17655:3:7"
                                                                    }
                                                                ],
                                                                "id": 1804,
                                                                "name": "FunctionCall",
                                                                "src": "17601:58:7"
                                                            }
                                                        ],
                                                        "id": 1805,
                                                        "name": "ExpressionStatement",
                                                        "src": "17601:58:7"
                                                    },
                                                    {
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "operator": "=",
                                                                    "type": "uint256"
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "isConstant": false,
                                                                            "isLValue": true,
                                                                            "isPure": false,
                                                                            "lValueRequested": true,
                                                                            "type": "uint256"
                                                                        },
                                                                        "children": [
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "overloadedDeclarations": [
                                                                                        null
                                                                                    ],
                                                                                    "referencedDeclaration": 668,
                                                                                    "type": "mapping(address => uint256)",
                                                                                    "value": "fees"
                                                                                },
                                                                                "id": 1806,
                                                                                "name": "Identifier",
                                                                                "src": "17680:4:7"
                                                                            },
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "overloadedDeclarations": [
                                                                                        null
                                                                                    ],
                                                                                    "referencedDeclaration": 1675,
                                                                                    "type": "address",
                                                                                    "value": "token"
                                                                                },
                                                                                "id": 1807,
                                                                                "name": "Identifier",
                                                                                "src": "17685:5:7"
                                                                            }
                                                                        ],
                                                                        "id": 1808,
                                                                        "name": "IndexAccess",
                                                                        "src": "17680:11:7"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "isConstant": false,
                                                                            "isLValue": false,
                                                                            "isPure": false,
                                                                            "isStructConstructorCall": false,
                                                                            "lValueRequested": false,
                                                                            "names": [
                                                                                null
                                                                            ],
                                                                            "type": "uint256",
                                                                            "type_conversion": false
                                                                        },
                                                                        "children": [
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": [
                                                                                        {
                                                                                            "typeIdentifier": "t_uint256",
                                                                                            "typeString": "uint256"
                                                                                        },
                                                                                        {
                                                                                            "typeIdentifier": "t_uint256",
                                                                                            "typeString": "uint256"
                                                                                        }
                                                                                    ],
                                                                                    "isConstant": false,
                                                                                    "isLValue": false,
                                                                                    "isPure": false,
                                                                                    "lValueRequested": false,
                                                                                    "member_name": "add",
                                                                                    "referencedDeclaration": 3694,
                                                                                    "type": "function (uint256,uint256) pure returns (uint256)"
                                                                                },
                                                                                "children": [
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "overloadedDeclarations": [
                                                                                                null
                                                                                            ],
                                                                                            "referencedDeclaration": 3941,
                                                                                            "type": "type(library Math)",
                                                                                            "value": "Math"
                                                                                        },
                                                                                        "id": 1809,
                                                                                        "name": "Identifier",
                                                                                        "src": "17694:4:7"
                                                                                    }
                                                                                ],
                                                                                "id": 1810,
                                                                                "name": "MemberAccess",
                                                                                "src": "17694:8:7"
                                                                            },
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "isConstant": false,
                                                                                    "isLValue": true,
                                                                                    "isPure": false,
                                                                                    "lValueRequested": false,
                                                                                    "type": "uint256"
                                                                                },
                                                                                "children": [
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "overloadedDeclarations": [
                                                                                                null
                                                                                            ],
                                                                                            "referencedDeclaration": 668,
                                                                                            "type": "mapping(address => uint256)",
                                                                                            "value": "fees"
                                                                                        },
                                                                                        "id": 1811,
                                                                                        "name": "Identifier",
                                                                                        "src": "17703:4:7"
                                                                                    },
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "overloadedDeclarations": [
                                                                                                null
                                                                                            ],
                                                                                            "referencedDeclaration": 1675,
                                                                                            "type": "address",
                                                                                            "value": "token"
                                                                                        },
                                                                                        "id": 1812,
                                                                                        "name": "Identifier",
                                                                                        "src": "17708:5:7"
                                                                                    }
                                                                                ],
                                                                                "id": 1813,
                                                                                "name": "IndexAccess",
                                                                                "src": "17703:11:7"
                                                                            },
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "overloadedDeclarations": [
                                                                                        null
                                                                                    ],
                                                                                    "referencedDeclaration": 1706,
                                                                                    "type": "uint256",
                                                                                    "value": "fee"
                                                                                },
                                                                                "id": 1814,
                                                                                "name": "Identifier",
                                                                                "src": "17716:3:7"
                                                                            }
                                                                        ],
                                                                        "id": 1815,
                                                                        "name": "FunctionCall",
                                                                        "src": "17694:26:7"
                                                                    }
                                                                ],
                                                                "id": 1816,
                                                                "name": "Assignment",
                                                                "src": "17680:40:7"
                                                            }
                                                        ],
                                                        "id": 1817,
                                                        "name": "ExpressionStatement",
                                                        "src": "17680:40:7"
                                                    },
                                                    {
                                                        "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_uint256",
                                                                                    "typeString": "uint256"
                                                                                },
                                                                                {
                                                                                    "typeIdentifier": "t_uint256",
                                                                                    "typeString": "uint256"
                                                                                },
                                                                                {
                                                                                    "typeIdentifier": "t_uint256",
                                                                                    "typeString": "uint256"
                                                                                }
                                                                            ],
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 1669,
                                                                            "type": "function (uint256,uint256,uint256)",
                                                                            "value": "avgBalance"
                                                                        },
                                                                        "id": 1818,
                                                                        "name": "Identifier",
                                                                        "src": "17740:10:7"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "isConstant": false,
                                                                            "isLValue": true,
                                                                            "isPure": false,
                                                                            "lValueRequested": false,
                                                                            "type": "uint256"
                                                                        },
                                                                        "children": [
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "overloadedDeclarations": [
                                                                                        null
                                                                                    ],
                                                                                    "referencedDeclaration": 668,
                                                                                    "type": "mapping(address => uint256)",
                                                                                    "value": "fees"
                                                                                },
                                                                                "id": 1819,
                                                                                "name": "Identifier",
                                                                                "src": "17751:4:7"
                                                                            },
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "overloadedDeclarations": [
                                                                                        null
                                                                                    ],
                                                                                    "referencedDeclaration": 1675,
                                                                                    "type": "address",
                                                                                    "value": "token"
                                                                                },
                                                                                "id": 1820,
                                                                                "name": "Identifier",
                                                                                "src": "17756:5:7"
                                                                            }
                                                                        ],
                                                                        "id": 1821,
                                                                        "name": "IndexAccess",
                                                                        "src": "17751:11:7"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 571,
                                                                            "type": "uint256",
                                                                            "value": "custodyfee"
                                                                        },
                                                                        "id": 1822,
                                                                        "name": "Identifier",
                                                                        "src": "17764:10:7"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 1706,
                                                                            "type": "uint256",
                                                                            "value": "fee"
                                                                        },
                                                                        "id": 1823,
                                                                        "name": "Identifier",
                                                                        "src": "17776:3:7"
                                                                    }
                                                                ],
                                                                "id": 1824,
                                                                "name": "FunctionCall",
                                                                "src": "17740:40:7"
                                                            }
                                                        ],
                                                        "id": 1825,
                                                        "name": "EmitStatement",
                                                        "src": "17735:45:7"
                                                    }
                                                ],
                                                "id": 1826,
                                                "name": "Block",
                                                "src": "17298:494:7"
                                            }
                                        ],
                                        "id": 1827,
                                        "name": "IfStatement",
                                        "src": "17283:509:7"
                                    }
                                ],
                                "id": 1828,
                                "name": "Block",
                                "src": "16805:995:7"
                            }
                        ],
                        "id": 1829,
                        "name": "FunctionDefinition",
                        "src": "16649:1151:7"
                    },
                    {
                        "attributes": {
                            "documentation": "This function gets the shard for a participant\r\n@param _token vault creator's username, eg creator@email.com\r",
                            "implemented": true,
                            "isConstructor": false,
                            "kind": "function",
                            "modifiers": [
                                null
                            ],
                            "name": "collectCustodyFee",
                            "scope": 1949,
                            "stateMutability": "nonpayable",
                            "superFunction": 517,
                            "visibility": "external"
                        },
                        "children": [
                            {
                                "children": [
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "_token",
                                            "scope": 1882,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "address",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "address",
                                                    "stateMutability": "nonpayable",
                                                    "type": "address"
                                                },
                                                "id": 1830,
                                                "name": "ElementaryTypeName",
                                                "src": "17979:7:7"
                                            }
                                        ],
                                        "id": 1831,
                                        "name": "VariableDeclaration",
                                        "src": "17979:14:7"
                                    }
                                ],
                                "id": 1832,
                                "name": "ParameterList",
                                "src": "17978:16:7"
                            },
                            {
                                "children": [
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "",
                                            "scope": 1882,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "uint256",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "uint256",
                                                    "type": "uint256"
                                                },
                                                "id": 1833,
                                                "name": "ElementaryTypeName",
                                                "src": "18012:7:7"
                                            }
                                        ],
                                        "id": 1834,
                                        "name": "VariableDeclaration",
                                        "src": "18012:7:7"
                                    }
                                ],
                                "id": 1835,
                                "name": "ParameterList",
                                "src": "18011:9:7"
                            },
                            {
                                "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"
                                                                },
                                                                {
                                                                    "typeIdentifier": "t_stringliteral_520c74523a45f0fb030503010667d8fc574cfd834ba56c4e6f6de8f27996ed35",
                                                                    "typeString": "literal_string \"Unauthorized fee collection\""
                                                                }
                                                            ],
                                                            "overloadedDeclarations": [
                                                                3959,
                                                                3960
                                                            ],
                                                            "referencedDeclaration": 3960,
                                                            "type": "function (bool,string memory) pure",
                                                            "value": "require"
                                                        },
                                                        "id": 1836,
                                                        "name": "Identifier",
                                                        "src": "18031:7:7"
                                                    },
                                                    {
                                                        "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": false,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "member_name": "sender",
                                                                    "referencedDeclaration": null,
                                                                    "type": "address payable"
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 3956,
                                                                            "type": "msg",
                                                                            "value": "msg"
                                                                        },
                                                                        "id": 1837,
                                                                        "name": "Identifier",
                                                                        "src": "18039:3:7"
                                                                    }
                                                                ],
                                                                "id": 1838,
                                                                "name": "MemberAccess",
                                                                "src": "18039:10:7"
                                                            },
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "overloadedDeclarations": [
                                                                        null
                                                                    ],
                                                                    "referencedDeclaration": 569,
                                                                    "type": "address",
                                                                    "value": "distributor"
                                                                },
                                                                "id": 1839,
                                                                "name": "Identifier",
                                                                "src": "18051:11:7"
                                                            }
                                                        ],
                                                        "id": 1840,
                                                        "name": "BinaryOperation",
                                                        "src": "18039:23:7"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "hexvalue": "556e617574686f72697a65642066656520636f6c6c656374696f6e",
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": true,
                                                            "lValueRequested": false,
                                                            "subdenomination": null,
                                                            "token": "string",
                                                            "type": "literal_string \"Unauthorized fee collection\"",
                                                            "value": "Unauthorized fee collection"
                                                        },
                                                        "id": 1841,
                                                        "name": "Literal",
                                                        "src": "18064:29:7"
                                                    }
                                                ],
                                                "id": 1842,
                                                "name": "FunctionCall",
                                                "src": "18031:63:7"
                                            }
                                        ],
                                        "id": 1843,
                                        "name": "ExpressionStatement",
                                        "src": "18031:63:7"
                                    },
                                    {
                                        "attributes": {
                                            "assignments": [
                                                1845
                                            ]
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "constant": false,
                                                    "name": "feeCollected",
                                                    "scope": 1881,
                                                    "stateVariable": false,
                                                    "storageLocation": "default",
                                                    "type": "uint256",
                                                    "value": null,
                                                    "visibility": "internal"
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "name": "uint256",
                                                            "type": "uint256"
                                                        },
                                                        "id": 1844,
                                                        "name": "ElementaryTypeName",
                                                        "src": "18105:7:7"
                                                    }
                                                ],
                                                "id": 1845,
                                                "name": "VariableDeclaration",
                                                "src": "18105:20:7"
                                            },
                                            {
                                                "attributes": {
                                                    "argumentTypes": null,
                                                    "isConstant": false,
                                                    "isLValue": true,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "type": "uint256"
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "overloadedDeclarations": [
                                                                null
                                                            ],
                                                            "referencedDeclaration": 668,
                                                            "type": "mapping(address => uint256)",
                                                            "value": "fees"
                                                        },
                                                        "id": 1846,
                                                        "name": "Identifier",
                                                        "src": "18128:4:7"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "overloadedDeclarations": [
                                                                null
                                                            ],
                                                            "referencedDeclaration": 1831,
                                                            "type": "address",
                                                            "value": "_token"
                                                        },
                                                        "id": 1847,
                                                        "name": "Identifier",
                                                        "src": "18133:6:7"
                                                    }
                                                ],
                                                "id": 1848,
                                                "name": "IndexAccess",
                                                "src": "18128:12:7"
                                            }
                                        ],
                                        "id": 1849,
                                        "name": "VariableDeclarationStatement",
                                        "src": "18105:35:7"
                                    },
                                    {
                                        "children": [
                                            {
                                                "attributes": {
                                                    "argumentTypes": null,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "operator": "=",
                                                    "type": "uint256"
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "isConstant": false,
                                                            "isLValue": true,
                                                            "isPure": false,
                                                            "lValueRequested": true,
                                                            "type": "uint256"
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "overloadedDeclarations": [
                                                                        null
                                                                    ],
                                                                    "referencedDeclaration": 668,
                                                                    "type": "mapping(address => uint256)",
                                                                    "value": "fees"
                                                                },
                                                                "id": 1850,
                                                                "name": "Identifier",
                                                                "src": "18159:4:7"
                                                            },
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "overloadedDeclarations": [
                                                                        null
                                                                    ],
                                                                    "referencedDeclaration": 1831,
                                                                    "type": "address",
                                                                    "value": "_token"
                                                                },
                                                                "id": 1851,
                                                                "name": "Identifier",
                                                                "src": "18164:6:7"
                                                            }
                                                        ],
                                                        "id": 1852,
                                                        "name": "IndexAccess",
                                                        "src": "18159:12:7"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": false,
                                                            "isStructConstructorCall": false,
                                                            "lValueRequested": false,
                                                            "names": [
                                                                null
                                                            ],
                                                            "type": "uint256",
                                                            "type_conversion": false
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": [
                                                                        {
                                                                            "typeIdentifier": "t_uint256",
                                                                            "typeString": "uint256"
                                                                        },
                                                                        {
                                                                            "typeIdentifier": "t_uint256",
                                                                            "typeString": "uint256"
                                                                        }
                                                                    ],
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "member_name": "sub",
                                                                    "referencedDeclaration": 3758,
                                                                    "type": "function (uint256,uint256) pure returns (uint256)"
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 3941,
                                                                            "type": "type(library Math)",
                                                                            "value": "Math"
                                                                        },
                                                                        "id": 1853,
                                                                        "name": "Identifier",
                                                                        "src": "18174:4:7"
                                                                    }
                                                                ],
                                                                "id": 1854,
                                                                "name": "MemberAccess",
                                                                "src": "18174:8:7"
                                                            },
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "isConstant": false,
                                                                    "isLValue": true,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "type": "uint256"
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 668,
                                                                            "type": "mapping(address => uint256)",
                                                                            "value": "fees"
                                                                        },
                                                                        "id": 1855,
                                                                        "name": "Identifier",
                                                                        "src": "18183:4:7"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 1831,
                                                                            "type": "address",
                                                                            "value": "_token"
                                                                        },
                                                                        "id": 1856,
                                                                        "name": "Identifier",
                                                                        "src": "18188:6:7"
                                                                    }
                                                                ],
                                                                "id": 1857,
                                                                "name": "IndexAccess",
                                                                "src": "18183:12:7"
                                                            },
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "overloadedDeclarations": [
                                                                        null
                                                                    ],
                                                                    "referencedDeclaration": 1845,
                                                                    "type": "uint256",
                                                                    "value": "feeCollected"
                                                                },
                                                                "id": 1858,
                                                                "name": "Identifier",
                                                                "src": "18197:12:7"
                                                            }
                                                        ],
                                                        "id": 1859,
                                                        "name": "FunctionCall",
                                                        "src": "18174:36:7"
                                                    }
                                                ],
                                                "id": 1860,
                                                "name": "Assignment",
                                                "src": "18159:51:7"
                                            }
                                        ],
                                        "id": 1861,
                                        "name": "ExpressionStatement",
                                        "src": "18159:51:7"
                                    },
                                    {
                                        "children": [
                                            {
                                                "attributes": {
                                                    "argumentTypes": null,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "isStructConstructorCall": false,
                                                    "lValueRequested": false,
                                                    "names": [
                                                        null
                                                    ],
                                                    "type": "bool",
                                                    "type_conversion": false
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": [
                                                                {
                                                                    "typeIdentifier": "t_address",
                                                                    "typeString": "address"
                                                                },
                                                                {
                                                                    "typeIdentifier": "t_uint256",
                                                                    "typeString": "uint256"
                                                                }
                                                            ],
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "member_name": "transfer",
                                                            "referencedDeclaration": 243,
                                                            "type": "function (address,uint256) external returns (bool)"
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": false,
                                                                    "isStructConstructorCall": false,
                                                                    "lValueRequested": false,
                                                                    "names": [
                                                                        null
                                                                    ],
                                                                    "type": "contract IERC20",
                                                                    "type_conversion": true
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": [
                                                                                {
                                                                                    "typeIdentifier": "t_address",
                                                                                    "typeString": "address"
                                                                                }
                                                                            ],
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 289,
                                                                            "type": "type(contract IERC20)",
                                                                            "value": "IERC20"
                                                                        },
                                                                        "id": 1862,
                                                                        "name": "Identifier",
                                                                        "src": "18229:6:7"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 1831,
                                                                            "type": "address",
                                                                            "value": "_token"
                                                                        },
                                                                        "id": 1863,
                                                                        "name": "Identifier",
                                                                        "src": "18236:6:7"
                                                                    }
                                                                ],
                                                                "id": 1864,
                                                                "name": "FunctionCall",
                                                                "src": "18229:14:7"
                                                            }
                                                        ],
                                                        "id": 1865,
                                                        "name": "MemberAccess",
                                                        "src": "18229:23:7"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "overloadedDeclarations": [
                                                                null
                                                            ],
                                                            "referencedDeclaration": 569,
                                                            "type": "address",
                                                            "value": "distributor"
                                                        },
                                                        "id": 1866,
                                                        "name": "Identifier",
                                                        "src": "18253:11:7"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "overloadedDeclarations": [
                                                                null
                                                            ],
                                                            "referencedDeclaration": 1845,
                                                            "type": "uint256",
                                                            "value": "feeCollected"
                                                        },
                                                        "id": 1867,
                                                        "name": "Identifier",
                                                        "src": "18266:12:7"
                                                    }
                                                ],
                                                "id": 1868,
                                                "name": "FunctionCall",
                                                "src": "18229:50:7"
                                            }
                                        ],
                                        "id": 1869,
                                        "name": "ExpressionStatement",
                                        "src": "18229:50:7"
                                    },
                                    {
                                        "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_uint256",
                                                                    "typeString": "uint256"
                                                                },
                                                                {
                                                                    "typeIdentifier": "t_uint256",
                                                                    "typeString": "uint256"
                                                                }
                                                            ],
                                                            "overloadedDeclarations": [
                                                                null
                                                            ],
                                                            "referencedDeclaration": 652,
                                                            "type": "function (address,uint256,uint256)",
                                                            "value": "feecollection"
                                                        },
                                                        "id": 1870,
                                                        "name": "Identifier",
                                                        "src": "18295:13:7"
                                                    },
                                                    {
                                                        "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$_Vault_$1949",
                                                                            "typeString": "contract Vault"
                                                                        }
                                                                    ],
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": true,
                                                                    "lValueRequested": false,
                                                                    "type": "type(address)",
                                                                    "value": "address"
                                                                },
                                                                "id": 1871,
                                                                "name": "ElementaryTypeNameExpression",
                                                                "src": "18309:7:7"
                                                            },
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "overloadedDeclarations": [
                                                                        null
                                                                    ],
                                                                    "referencedDeclaration": 3990,
                                                                    "type": "contract Vault",
                                                                    "value": "this"
                                                                },
                                                                "id": 1872,
                                                                "name": "Identifier",
                                                                "src": "18317:4:7"
                                                            }
                                                        ],
                                                        "id": 1873,
                                                        "name": "FunctionCall",
                                                        "src": "18309:13:7"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "overloadedDeclarations": [
                                                                null
                                                            ],
                                                            "referencedDeclaration": 1845,
                                                            "type": "uint256",
                                                            "value": "feeCollected"
                                                        },
                                                        "id": 1874,
                                                        "name": "Identifier",
                                                        "src": "18324:12:7"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "member_name": "timestamp",
                                                            "referencedDeclaration": null,
                                                            "type": "uint256"
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "overloadedDeclarations": [
                                                                        null
                                                                    ],
                                                                    "referencedDeclaration": 3946,
                                                                    "type": "block",
                                                                    "value": "block"
                                                                },
                                                                "id": 1875,
                                                                "name": "Identifier",
                                                                "src": "18338:5:7"
                                                            }
                                                        ],
                                                        "id": 1876,
                                                        "name": "MemberAccess",
                                                        "src": "18338:15:7"
                                                    }
                                                ],
                                                "id": 1877,
                                                "name": "FunctionCall",
                                                "src": "18295:59:7"
                                            }
                                        ],
                                        "id": 1878,
                                        "name": "EmitStatement",
                                        "src": "18290:64:7"
                                    },
                                    {
                                        "attributes": {
                                            "functionReturnParameters": 1835
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "argumentTypes": null,
                                                    "overloadedDeclarations": [
                                                        null
                                                    ],
                                                    "referencedDeclaration": 1845,
                                                    "type": "uint256",
                                                    "value": "feeCollected"
                                                },
                                                "id": 1879,
                                                "name": "Identifier",
                                                "src": "18372:12:7"
                                            }
                                        ],
                                        "id": 1880,
                                        "name": "Return",
                                        "src": "18365:19:7"
                                    }
                                ],
                                "id": 1881,
                                "name": "Block",
                                "src": "18020:372:7"
                            }
                        ],
                        "id": 1882,
                        "name": "FunctionDefinition",
                        "src": "17952:440:7"
                    },
                    {
                        "attributes": {
                            "documentation": "@dev Returns a scaling factor that, when multiplied to a token amount for `token`, normalizes its balance as if\r\nit had 18 decimals.\r",
                            "implemented": true,
                            "isConstructor": false,
                            "kind": "function",
                            "modifiers": [
                                null
                            ],
                            "name": "_computeScalingFactor",
                            "scope": 1949,
                            "stateMutability": "view",
                            "superFunction": null,
                            "visibility": "internal"
                        },
                        "children": [
                            {
                                "children": [
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "token",
                                            "scope": 1916,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "contract IERC20",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "contractScope": null,
                                                    "name": "IERC20",
                                                    "referencedDeclaration": 289,
                                                    "type": "contract IERC20"
                                                },
                                                "id": 1883,
                                                "name": "UserDefinedTypeName",
                                                "src": "18597:6:7"
                                            }
                                        ],
                                        "id": 1884,
                                        "name": "VariableDeclaration",
                                        "src": "18597:12:7"
                                    }
                                ],
                                "id": 1885,
                                "name": "ParameterList",
                                "src": "18596:14:7"
                            },
                            {
                                "children": [
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "",
                                            "scope": 1916,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "uint256",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "uint256",
                                                    "type": "uint256"
                                                },
                                                "id": 1886,
                                                "name": "ElementaryTypeName",
                                                "src": "18634:7:7"
                                            }
                                        ],
                                        "id": 1887,
                                        "name": "VariableDeclaration",
                                        "src": "18634:7:7"
                                    }
                                ],
                                "id": 1888,
                                "name": "ParameterList",
                                "src": "18633:9:7"
                            },
                            {
                                "children": [
                                    {
                                        "attributes": {
                                            "assignments": [
                                                1890
                                            ]
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "constant": false,
                                                    "name": "tokenDecimals",
                                                    "scope": 1915,
                                                    "stateVariable": false,
                                                    "storageLocation": "default",
                                                    "type": "uint256",
                                                    "value": null,
                                                    "visibility": "internal"
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "name": "uint256",
                                                            "type": "uint256"
                                                        },
                                                        "id": 1889,
                                                        "name": "ElementaryTypeName",
                                                        "src": "18735:7:7"
                                                    }
                                                ],
                                                "id": 1890,
                                                "name": "VariableDeclaration",
                                                "src": "18735:21:7"
                                            },
                                            {
                                                "attributes": {
                                                    "argumentTypes": null,
                                                    "arguments": [
                                                        null
                                                    ],
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "isStructConstructorCall": false,
                                                    "lValueRequested": false,
                                                    "names": [
                                                        null
                                                    ],
                                                    "type": "uint8",
                                                    "type_conversion": false
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": [
                                                                null
                                                            ],
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "member_name": "decimals",
                                                            "referencedDeclaration": 215,
                                                            "type": "function () view external returns (uint8)"
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": false,
                                                                    "isStructConstructorCall": false,
                                                                    "lValueRequested": false,
                                                                    "names": [
                                                                        null
                                                                    ],
                                                                    "type": "contract ERC20Detailed",
                                                                    "type_conversion": true
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": [
                                                                                {
                                                                                    "typeIdentifier": "t_address",
                                                                                    "typeString": "address"
                                                                                }
                                                                            ],
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 220,
                                                                            "type": "type(contract ERC20Detailed)",
                                                                            "value": "ERC20Detailed"
                                                                        },
                                                                        "id": 1891,
                                                                        "name": "Identifier",
                                                                        "src": "18759:13:7"
                                                                    },
                                                                    {
                                                                        "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$_IERC20_$289",
                                                                                            "typeString": "contract IERC20"
                                                                                        }
                                                                                    ],
                                                                                    "isConstant": false,
                                                                                    "isLValue": false,
                                                                                    "isPure": true,
                                                                                    "lValueRequested": false,
                                                                                    "type": "type(address)",
                                                                                    "value": "address"
                                                                                },
                                                                                "id": 1892,
                                                                                "name": "ElementaryTypeNameExpression",
                                                                                "src": "18773:7:7"
                                                                            },
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "overloadedDeclarations": [
                                                                                        null
                                                                                    ],
                                                                                    "referencedDeclaration": 1884,
                                                                                    "type": "contract IERC20",
                                                                                    "value": "token"
                                                                                },
                                                                                "id": 1893,
                                                                                "name": "Identifier",
                                                                                "src": "18781:5:7"
                                                                            }
                                                                        ],
                                                                        "id": 1894,
                                                                        "name": "FunctionCall",
                                                                        "src": "18773:14:7"
                                                                    }
                                                                ],
                                                                "id": 1895,
                                                                "name": "FunctionCall",
                                                                "src": "18759:29:7"
                                                            }
                                                        ],
                                                        "id": 1896,
                                                        "name": "MemberAccess",
                                                        "src": "18759:38:7"
                                                    }
                                                ],
                                                "id": 1897,
                                                "name": "FunctionCall",
                                                "src": "18759:40:7"
                                            }
                                        ],
                                        "id": 1898,
                                        "name": "VariableDeclarationStatement",
                                        "src": "18735:64:7"
                                    },
                                    {
                                        "attributes": {
                                            "assignments": [
                                                1900
                                            ]
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "constant": false,
                                                    "name": "decimalsDifference",
                                                    "scope": 1915,
                                                    "stateVariable": false,
                                                    "storageLocation": "default",
                                                    "type": "uint256",
                                                    "value": null,
                                                    "visibility": "internal"
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "name": "uint256",
                                                            "type": "uint256"
                                                        },
                                                        "id": 1899,
                                                        "name": "ElementaryTypeName",
                                                        "src": "18877:7:7"
                                                    }
                                                ],
                                                "id": 1900,
                                                "name": "VariableDeclaration",
                                                "src": "18877:26:7"
                                            },
                                            {
                                                "attributes": {
                                                    "argumentTypes": null,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "isStructConstructorCall": false,
                                                    "lValueRequested": false,
                                                    "names": [
                                                        null
                                                    ],
                                                    "type": "uint256",
                                                    "type_conversion": false
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": [
                                                                {
                                                                    "typeIdentifier": "t_rational_18_by_1",
                                                                    "typeString": "int_const 18"
                                                                },
                                                                {
                                                                    "typeIdentifier": "t_uint256",
                                                                    "typeString": "uint256"
                                                                }
                                                            ],
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "member_name": "sub",
                                                            "referencedDeclaration": 3758,
                                                            "type": "function (uint256,uint256) pure returns (uint256)"
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "overloadedDeclarations": [
                                                                        null
                                                                    ],
                                                                    "referencedDeclaration": 3941,
                                                                    "type": "type(library Math)",
                                                                    "value": "Math"
                                                                },
                                                                "id": 1901,
                                                                "name": "Identifier",
                                                                "src": "18906:4:7"
                                                            }
                                                        ],
                                                        "id": 1902,
                                                        "name": "MemberAccess",
                                                        "src": "18906:8:7"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "hexvalue": "3138",
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": true,
                                                            "lValueRequested": false,
                                                            "subdenomination": null,
                                                            "token": "number",
                                                            "type": "int_const 18",
                                                            "value": "18"
                                                        },
                                                        "id": 1903,
                                                        "name": "Literal",
                                                        "src": "18915:2:7"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "overloadedDeclarations": [
                                                                null
                                                            ],
                                                            "referencedDeclaration": 1890,
                                                            "type": "uint256",
                                                            "value": "tokenDecimals"
                                                        },
                                                        "id": 1904,
                                                        "name": "Identifier",
                                                        "src": "18919:13:7"
                                                    }
                                                ],
                                                "id": 1905,
                                                "name": "FunctionCall",
                                                "src": "18906:27:7"
                                            }
                                        ],
                                        "id": 1906,
                                        "name": "VariableDeclarationStatement",
                                        "src": "18877:56:7"
                                    },
                                    {
                                        "attributes": {
                                            "functionReturnParameters": 1888
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "argumentTypes": null,
                                                    "commonType": {
                                                        "typeIdentifier": "t_uint256",
                                                        "typeString": "uint256"
                                                    },
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "operator": "*",
                                                    "type": "uint256"
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "arguments": [
                                                                null
                                                            ],
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": false,
                                                            "isStructConstructorCall": false,
                                                            "lValueRequested": false,
                                                            "names": [
                                                                null
                                                            ],
                                                            "type": "uint256",
                                                            "type_conversion": false
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": [
                                                                        null
                                                                    ],
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "member_name": "one",
                                                                    "referencedDeclaration": 1979,
                                                                    "type": "function () pure returns (uint256)"
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 2367,
                                                                            "type": "type(library FixedPoint)",
                                                                            "value": "FixedPoint"
                                                                        },
                                                                        "id": 1907,
                                                                        "name": "Identifier",
                                                                        "src": "18951:10:7"
                                                                    }
                                                                ],
                                                                "id": 1908,
                                                                "name": "MemberAccess",
                                                                "src": "18951:14:7"
                                                            }
                                                        ],
                                                        "id": 1909,
                                                        "name": "FunctionCall",
                                                        "src": "18951:16:7"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "commonType": {
                                                                "typeIdentifier": "t_uint256",
                                                                "typeString": "uint256"
                                                            },
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "operator": "**",
                                                            "type": "uint256"
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "hexvalue": "3130",
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": true,
                                                                    "lValueRequested": false,
                                                                    "subdenomination": null,
                                                                    "token": "number",
                                                                    "type": "int_const 10",
                                                                    "value": "10"
                                                                },
                                                                "id": 1910,
                                                                "name": "Literal",
                                                                "src": "18970:2:7"
                                                            },
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "overloadedDeclarations": [
                                                                        null
                                                                    ],
                                                                    "referencedDeclaration": 1900,
                                                                    "type": "uint256",
                                                                    "value": "decimalsDifference"
                                                                },
                                                                "id": 1911,
                                                                "name": "Identifier",
                                                                "src": "18974:18:7"
                                                            }
                                                        ],
                                                        "id": 1912,
                                                        "name": "BinaryOperation",
                                                        "src": "18970:22:7"
                                                    }
                                                ],
                                                "id": 1913,
                                                "name": "BinaryOperation",
                                                "src": "18951:41:7"
                                            }
                                        ],
                                        "id": 1914,
                                        "name": "Return",
                                        "src": "18944:48:7"
                                    }
                                ],
                                "id": 1915,
                                "name": "Block",
                                "src": "18643:357:7"
                            }
                        ],
                        "id": 1916,
                        "name": "FunctionDefinition",
                        "src": "18566:434:7"
                    },
                    {
                        "attributes": {
                            "documentation": "@dev Reverses the `scalingFactor` applied to `amount`, resulting in a smaller or equal value depending on\r\nwhether it needed scaling or not. The result is rounded down.\r",
                            "implemented": true,
                            "isConstructor": false,
                            "kind": "function",
                            "modifiers": [
                                null
                            ],
                            "name": "_downscaleDown",
                            "scope": 1949,
                            "stateMutability": "pure",
                            "superFunction": null,
                            "visibility": "internal"
                        },
                        "children": [
                            {
                                "children": [
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "amount",
                                            "scope": 1932,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "uint256",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "uint256",
                                                    "type": "uint256"
                                                },
                                                "id": 1917,
                                                "name": "ElementaryTypeName",
                                                "src": "19234:7:7"
                                            }
                                        ],
                                        "id": 1918,
                                        "name": "VariableDeclaration",
                                        "src": "19234:14:7"
                                    },
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "scalingFactor",
                                            "scope": 1932,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "uint256",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "uint256",
                                                    "type": "uint256"
                                                },
                                                "id": 1919,
                                                "name": "ElementaryTypeName",
                                                "src": "19250:7:7"
                                            }
                                        ],
                                        "id": 1920,
                                        "name": "VariableDeclaration",
                                        "src": "19250:21:7"
                                    }
                                ],
                                "id": 1921,
                                "name": "ParameterList",
                                "src": "19233:39:7"
                            },
                            {
                                "children": [
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "",
                                            "scope": 1932,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "uint256",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "uint256",
                                                    "type": "uint256"
                                                },
                                                "id": 1922,
                                                "name": "ElementaryTypeName",
                                                "src": "19296:7:7"
                                            }
                                        ],
                                        "id": 1923,
                                        "name": "VariableDeclaration",
                                        "src": "19296:7:7"
                                    }
                                ],
                                "id": 1924,
                                "name": "ParameterList",
                                "src": "19295:9:7"
                            },
                            {
                                "children": [
                                    {
                                        "attributes": {
                                            "functionReturnParameters": 1924
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "argumentTypes": null,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "isStructConstructorCall": false,
                                                    "lValueRequested": false,
                                                    "names": [
                                                        null
                                                    ],
                                                    "type": "uint256",
                                                    "type_conversion": false
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": [
                                                                {
                                                                    "typeIdentifier": "t_uint256",
                                                                    "typeString": "uint256"
                                                                },
                                                                {
                                                                    "typeIdentifier": "t_uint256",
                                                                    "typeString": "uint256"
                                                                }
                                                            ],
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "member_name": "divDown",
                                                            "referencedDeclaration": 2153,
                                                            "type": "function (uint256,uint256) pure returns (uint256)"
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "overloadedDeclarations": [
                                                                        null
                                                                    ],
                                                                    "referencedDeclaration": 2367,
                                                                    "type": "type(library FixedPoint)",
                                                                    "value": "FixedPoint"
                                                                },
                                                                "id": 1925,
                                                                "name": "Identifier",
                                                                "src": "19323:10:7"
                                                            }
                                                        ],
                                                        "id": 1926,
                                                        "name": "MemberAccess",
                                                        "src": "19323:18:7"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "overloadedDeclarations": [
                                                                null
                                                            ],
                                                            "referencedDeclaration": 1918,
                                                            "type": "uint256",
                                                            "value": "amount"
                                                        },
                                                        "id": 1927,
                                                        "name": "Identifier",
                                                        "src": "19342:6:7"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "overloadedDeclarations": [
                                                                null
                                                            ],
                                                            "referencedDeclaration": 1920,
                                                            "type": "uint256",
                                                            "value": "scalingFactor"
                                                        },
                                                        "id": 1928,
                                                        "name": "Identifier",
                                                        "src": "19350:13:7"
                                                    }
                                                ],
                                                "id": 1929,
                                                "name": "FunctionCall",
                                                "src": "19323:41:7"
                                            }
                                        ],
                                        "id": 1930,
                                        "name": "Return",
                                        "src": "19316:48:7"
                                    }
                                ],
                                "id": 1931,
                                "name": "Block",
                                "src": "19305:67:7"
                            }
                        ],
                        "id": 1932,
                        "name": "FunctionDefinition",
                        "src": "19210:162:7"
                    },
                    {
                        "attributes": {
                            "documentation": "@dev Applies `scalingFactor` to `amount`, resulting in a larger or equal value depending on whether it needed\r\nscaling or not.\r",
                            "implemented": true,
                            "isConstructor": false,
                            "kind": "function",
                            "modifiers": [
                                null
                            ],
                            "name": "_upscale",
                            "scope": 1949,
                            "stateMutability": "pure",
                            "superFunction": null,
                            "visibility": "internal"
                        },
                        "children": [
                            {
                                "children": [
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "amount",
                                            "scope": 1948,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "uint256",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "uint256",
                                                    "type": "uint256"
                                                },
                                                "id": 1933,
                                                "name": "ElementaryTypeName",
                                                "src": "19558:7:7"
                                            }
                                        ],
                                        "id": 1934,
                                        "name": "VariableDeclaration",
                                        "src": "19558:14:7"
                                    },
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "scalingFactor",
                                            "scope": 1948,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "uint256",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "uint256",
                                                    "type": "uint256"
                                                },
                                                "id": 1935,
                                                "name": "ElementaryTypeName",
                                                "src": "19574:7:7"
                                            }
                                        ],
                                        "id": 1936,
                                        "name": "VariableDeclaration",
                                        "src": "19574:21:7"
                                    }
                                ],
                                "id": 1937,
                                "name": "ParameterList",
                                "src": "19557:39:7"
                            },
                            {
                                "children": [
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "",
                                            "scope": 1948,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "uint256",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "uint256",
                                                    "type": "uint256"
                                                },
                                                "id": 1938,
                                                "name": "ElementaryTypeName",
                                                "src": "19620:7:7"
                                            }
                                        ],
                                        "id": 1939,
                                        "name": "VariableDeclaration",
                                        "src": "19620:7:7"
                                    }
                                ],
                                "id": 1940,
                                "name": "ParameterList",
                                "src": "19619:9:7"
                            },
                            {
                                "children": [
                                    {
                                        "attributes": {
                                            "functionReturnParameters": 1940
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "argumentTypes": null,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "isStructConstructorCall": false,
                                                    "lValueRequested": false,
                                                    "names": [
                                                        null
                                                    ],
                                                    "type": "uint256",
                                                    "type_conversion": false
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": [
                                                                {
                                                                    "typeIdentifier": "t_uint256",
                                                                    "typeString": "uint256"
                                                                },
                                                                {
                                                                    "typeIdentifier": "t_uint256",
                                                                    "typeString": "uint256"
                                                                }
                                                            ],
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "member_name": "mulDown",
                                                            "referencedDeclaration": 2062,
                                                            "type": "function (uint256,uint256) pure returns (uint256)"
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "overloadedDeclarations": [
                                                                        null
                                                                    ],
                                                                    "referencedDeclaration": 2367,
                                                                    "type": "type(library FixedPoint)",
                                                                    "value": "FixedPoint"
                                                                },
                                                                "id": 1941,
                                                                "name": "Identifier",
                                                                "src": "20076:10:7"
                                                            }
                                                        ],
                                                        "id": 1942,
                                                        "name": "MemberAccess",
                                                        "src": "20076:18:7"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "overloadedDeclarations": [
                                                                null
                                                            ],
                                                            "referencedDeclaration": 1934,
                                                            "type": "uint256",
                                                            "value": "amount"
                                                        },
                                                        "id": 1943,
                                                        "name": "Identifier",
                                                        "src": "20095:6:7"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "overloadedDeclarations": [
                                                                null
                                                            ],
                                                            "referencedDeclaration": 1936,
                                                            "type": "uint256",
                                                            "value": "scalingFactor"
                                                        },
                                                        "id": 1944,
                                                        "name": "Identifier",
                                                        "src": "20103:13:7"
                                                    }
                                                ],
                                                "id": 1945,
                                                "name": "FunctionCall",
                                                "src": "20076:41:7"
                                            }
                                        ],
                                        "id": 1946,
                                        "name": "Return",
                                        "src": "20069:48:7"
                                    }
                                ],
                                "id": 1947,
                                "name": "Block",
                                "src": "19629:496:7"
                            }
                        ],
                        "id": 1948,
                        "name": "FunctionDefinition",
                        "src": "19540:585:7"
                    }
                ],
                "id": 1949,
                "name": "ContractDefinition",
                "src": "558:19572:7"
            }
        ],
        "id": 1950,
        "name": "SourceUnit",
        "src": "150:19980:7"
    },
    "compiler": {
        "name": "solc",
        "version": "0.5.7+commit.6da8b019.Emscripten.clang"
    },
    "networks": {
        "11155111": {
            "events": {
                "0xaa6e23bdac31ae314e8eec6a579fd0418f7b5f0bca74e9ef11e78373cec74dd5": {
                    "anonymous": false,
                    "inputs": [
                        {
                            "indexed": false,
                            "name": "creator",
                            "type": "bytes32"
                        },
                        {
                            "indexed": false,
                            "name": "participant",
                            "type": "bytes32"
                        }
                    ],
                    "name": "NewParticipant",
                    "type": "event"
                },
                "0x7f8d3f14b960b3bcf34baea4b46178e331b54a33e565d7d50d77cdfe9e926fe8": {
                    "anonymous": false,
                    "inputs": [
                        {
                            "indexed": false,
                            "name": "creator",
                            "type": "bytes32"
                        },
                        {
                            "indexed": false,
                            "name": "participant",
                            "type": "bytes32"
                        },
                        {
                            "indexed": false,
                            "name": "txid",
                            "type": "uint256"
                        }
                    ],
                    "name": "NewTransaction",
                    "type": "event"
                },
                "0xaff273650e3a4ea06a9841f55dd08ea83018f0c09836f109ccba14823e59de47": {
                    "anonymous": false,
                    "inputs": [
                        {
                            "indexed": false,
                            "name": "creator",
                            "type": "bytes32"
                        },
                        {
                            "indexed": false,
                            "name": "participant",
                            "type": "bytes32"
                        },
                        {
                            "indexed": false,
                            "name": "txid",
                            "type": "uint256"
                        }
                    ],
                    "name": "SignTransaction",
                    "type": "event"
                },
                "0x5472b7fef042e64eae80068ace4f2e4134b2b13f9f86ac9ae86640bae2b90306": {
                    "anonymous": false,
                    "inputs": [
                        {
                            "indexed": false,
                            "name": "creator",
                            "type": "bytes32"
                        },
                        {
                            "indexed": false,
                            "name": "participant",
                            "type": "bytes32"
                        },
                        {
                            "indexed": false,
                            "name": "confirmation",
                            "type": "bool"
                        }
                    ],
                    "name": "SignResponse",
                    "type": "event"
                },
                "0xeaad90c8664cdf61d60bd7ba6745a881fd1c38d9f4ff0b373b4365cdeeb0f9e8": {
                    "anonymous": false,
                    "inputs": [
                        {
                            "indexed": true,
                            "name": "platform",
                            "type": "address"
                        },
                        {
                            "indexed": false,
                            "name": "collection",
                            "type": "uint256"
                        },
                        {
                            "indexed": false,
                            "name": "timestamp",
                            "type": "uint256"
                        }
                    ],
                    "name": "feecollection",
                    "type": "event"
                },
                "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": {
                    "anonymous": false,
                    "inputs": [
                        {
                            "indexed": true,
                            "name": "previousOwner",
                            "type": "address"
                        },
                        {
                            "indexed": true,
                            "name": "newOwner",
                            "type": "address"
                        }
                    ],
                    "name": "OwnershipTransferred",
                    "type": "event"
                },
                "0x5e272806e9b4d83f3d7f5741b15b2e573f9b617c78cf4792c89a8f60900cad8e": {
                    "anonymous": false,
                    "inputs": [
                        {
                            "indexed": false,
                            "name": "total",
                            "type": "uint256"
                        },
                        {
                            "indexed": false,
                            "name": "count",
                            "type": "uint256"
                        }
                    ],
                    "name": "totalCount",
                    "type": "event"
                },
                "0x2dabdb98a3da1453062856d49712513efb7f59a77ca6ee3ac8c9051bc616782d": {
                    "anonymous": false,
                    "inputs": [
                        {
                            "indexed": false,
                            "name": "fees",
                            "type": "uint256"
                        },
                        {
                            "indexed": false,
                            "name": "totalCount",
                            "type": "uint256"
                        },
                        {
                            "indexed": false,
                            "name": "custodyfee",
                            "type": "uint256"
                        }
                    ],
                    "name": "avgBalance",
                    "type": "event"
                }
            },
            "links": {
                "FixedPoint": "0x4558ba8b96198144B036FE9392D49b2782339f40"
            },
            "address": "0x1F97Bd2c4D3b42a87B225dd7990F4a13f1CF8760",
            "transactionHash": "0x136cb766334d09799027233eea8b001aa003191b3e62d83ab6a20523daca0000"
        },
        "1748761045258": {
            "events": {},
            "links": {},
            "address": "0xe6B8824d0882798f3125874405CCeb80cEa2CFD3",
            "transactionHash": "0x8ba3cebfcea88c1777d70a1a1bdb2f240ab3ab9e76f4b45b4e5d17c900242f4d"
        }
    },
    "schemaVersion": "3.4.16",
    "updatedAt": "2025-06-20T13:12:00.107Z",
    "networkType": "ethereum",
    "devdoc": {
        "methods": {
            "addParticipant(bytes32,string,bytes32,string)": {
                "params": {
                    "_creator": "vault creator's username, eg creator@email.com\r",
                    "_id": "vault creator's unique id using which it can be reached, eg, its Google/APNS token\r",
                    "_participant": "vault participant's username, eg participant@email.com\r",
                    "_shard": "the private key shard of the participant\r"
                }
            },
            "calculateAverageBalance(bytes32,string,address,uint256,uint256)": {
                "params": {
                    "_creator": "vault creator's username, eg creator@email.com\r",
                    "_id": "vault creator's unique id using which it can be reached, eg, its Google/APNS token\r",
                    "fromTime": "time to start calculating token balance from\r",
                    "toTime": "time to end calculating token balance \r",
                    "token": "token address\r"
                }
            },
            "checkQuorum(bytes32,string,bytes32,uint256)": {
                "params": {
                    "_creator": "vault creator's username, eg creator@email.com\r",
                    "_id": "vault creator's unique id using which it can be reached, eg, its Google/APNS token\r",
                    "_participant": "vault participant's username, eg participant@email.com\r",
                    "_txid": "transaction identifier\r"
                }
            },
            "collectCustodyFee(address)": {
                "params": {
                    "_token": "vault creator's username, eg creator@email.com\r"
                }
            },
            "confirmParticipant(bytes32,string,bytes32,string,bool)": {
                "params": {
                    "_confirmation": "true or false\r",
                    "_creator": "the vault's creator (eg, creator@email.com)\r",
                    "_id": "vault creator's unique id using which it can be reached, eg, its Google/APNS token\r",
                    "_participant": "the vault's participant (eg, participant@email.com)\r",
                    "_pin": "the PIN number of the participant\r"
                }
            },
            "createVault(bytes32,string)": {
                "params": {
                    "_creator": "vault creator's username, eg, creator@email.com\r",
                    "_id": "vault creator's unique id using which it can be reached, eg, its Google/APNS token\r"
                }
            },
            "defineQuorum(bytes32,string,uint256)": {
                "params": {
                    "_creator": "the vault's creator (eg, creator@email.com)\r",
                    "_id": "vault creator's unique id using which it can be reached, eg, its Google/APNS token\r",
                    "_minParticipants": "the minimum number of co-signers\r"
                }
            },
            "getCreator(bytes32,string)": {
                "params": {
                    "_creator": "the vault creator (eg, creator@email.com)\r"
                },
                "return": "the vault creator's unique ID\r"
            },
            "getQuorum(bytes32,string)": {
                "params": {
                    "_creator": "the vault's creator (eg, creator@email.com)\r",
                    "_id": "vault creator's unique id using which it can be reached, eg, its Google/APNS token\r"
                }
            },
            "getShards(bytes32,string,uint256)": {
                "params": {
                    "_creator": "vault creator's username, eg creator@email.com\r",
                    "_id": "vault creator's unique id using which it can be reached, eg, its Google/APNS token\r",
                    "_txid": "transaction identifier \r"
                }
            },
            "initialize(address)": {
                "details": "Initializes the contract setting the deployer as the initial owner."
            },
            "isOwner()": {
                "details": "Returns true if the caller is the current owner."
            },
            "owner()": {
                "details": "Returns the address of the current owner."
            },
            "promptSignatures(bytes32,string)": {
                "params": {
                    "_creator": "the vault's creator (eg, creator@email.com)\r",
                    "_id": "vault creator's unique id using which it can be reached, eg, its Google/APNS token\r"
                }
            },
            "removeParticipant(bytes32,string,bytes32)": {
                "params": {
                    "_creator": "vault creator's username, eg creator@email.com\r",
                    "_id": "vault creator's unique id using which it can be reached, eg, its Google/APNS token\r",
                    "_participant": "vault participant's username, eg participant@email.com\r"
                }
            },
            "renounceOwnership()": {
                "details": "Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner.     * > Note: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner."
            },
            "resetPin(bytes32,string,string)": {
                "params": {
                    "_creator": "the vault's creator (eg, creator@email.com)\r",
                    "_id": "vault creator's unique id using which it can be reached, eg, its Google/APNS token\r",
                    "_new": "vault creator's new unique id\r"
                }
            },
            "signTransaction(bytes32,string,bytes32,uint256,string)": {
                "params": {
                    "_creator": "the vault's creator (eg, creator@email.com)\r",
                    "_id": "vault creator's unique id using which it can be reached, eg, its Google/APNS token\r",
                    "_participant": "the vault's participant (eg, participant@email.com)\r",
                    "_pin": "the PIN number of the signer (participant)\r",
                    "_tx": "transaction identifier\r"
                }
            },
            "snapshotBalance(bytes32,string,address)": {
                "params": {
                    "_creator": "vault creator's username, eg creator@email.com\r",
                    "_id": "vault creator's unique id using which it can be reached, eg, its Google/APNS token\r",
                    "token": "token address\r"
                }
            },
            "transferOwnership(address)": {
                "details": "Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."
            },
            "transferVault(bytes32,string,address)": {
                "params": {
                    "_creator": "vault to transfer\r",
                    "_id": "vault creator's unique id using which it can be reached, eg, its Google/APNS token\r",
                    "_transferee": "address of the new vault operator\r"
                }
            }
        }
    },
    "userdoc": {
        "methods": {
            "addParticipant(bytes32,string,bytes32,string)": {
                "notice": "This function adds a participant to a vault that belongs to its creator\r"
            },
            "calculateAverageBalance(bytes32,string,address,uint256,uint256)": {
                "notice": "This function calculates the average balance for a user and a token\r"
            },
            "checkQuorum(bytes32,string,bytes32,uint256)": {
                "notice": "This function lets the creator check if quorum has been achieved for a particular transaction\r"
            },
            "collectCustodyFee(address)": {
                "notice": "This function gets the shard for a participant\r"
            },
            "confirmParticipant(bytes32,string,bytes32,string,bool)": {
                "notice": "This function confirms a participant in the vault when the participant sends its private key shard and PIN\r"
            },
            "createVault(bytes32,string)": {
                "notice": "This function creates a vault for the creator\r"
            },
            "defineQuorum(bytes32,string,uint256)": {
                "notice": "This function defines the number of participants required to co-sign a transaction\r"
            },
            "getCreator(bytes32,string)": {
                "notice": "This function returns the vault creator's unique ID (eg, Google/APNS messaging token)\r"
            },
            "getQuorum(bytes32,string)": {
                "notice": "This function retrieves the number of participants required to co-sign a transaction\r"
            },
            "getShards(bytes32,string,uint256)": {
                "notice": "This function gets the shard for a participant\r"
            },
            "getVaults()": {
                "notice": "This function returns list of vault creators\r"
            },
            "promptSignatures(bytes32,string)": {
                "notice": "This function prompts participants to co-sign a transaction on the vault (ie, the creator's address secured by the quorum of participants)\r"
            },
            "removeParticipant(bytes32,string,bytes32)": {
                "notice": "This function removes a participant in a vault that belongs to its creator\r"
            },
            "resetPin(bytes32,string,string)": {
                "notice": "This function resets the vault owner's unique id\r"
            },
            "signTransaction(bytes32,string,bytes32,uint256,string)": {
                "notice": "This function lets a participant co-sign a transaction\r"
            },
            "snapshotBalance(bytes32,string,address)": {
                "notice": "This function takes a snapshot of the token balance for the user\r"
            },
            "transferVault(bytes32,string,address)": {
                "notice": "This function transfers a vault from the transferor (msg.sender) to transferee\r"
            }
        }
    }
}
