ContractABI/Members.json

{
  "contractName": "Members",
  "abi": [
    {
      "constant": true,
      "inputs": [],
      "name": "getAddressToReplace",
      "outputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function",
      "signature": "0xe8c757d6"
    },
    {
      "inputs": [
        {
          "name": "_rootContract",
          "type": "address"
        },
        {
          "name": "_updateFrom",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "constructor",
      "signature": "constructor"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "name": "name",
          "type": "string"
        }
      ],
      "name": "MemberJoinedEvent",
      "type": "event",
      "signature": "0x6907ef36b4ec2ac0dbcf68e4e88d58e46d33a9befbd092de26182eeb8a043104"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "name": "name",
          "type": "string"
        }
      ],
      "name": "MemberLeftEvent",
      "type": "event",
      "signature": "0xce76cde84f41d02c564cb9c9416a2bb5deb93e11997544be0f46b97c1789bc49"
    },
    {
      "constant": false,
      "inputs": [],
      "name": "activate",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function",
      "signature": "0x0f15f4c0"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_name",
          "type": "string"
        },
        {
          "name": "_displayName",
          "type": "string"
        },
        {
          "name": "_subscriptionId",
          "type": "string"
        },
        {
          "name": "_account",
          "type": "address"
        }
      ],
      "name": "addMember",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function",
      "signature": "0x03934d76"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_name",
          "type": "string"
        },
        {
          "name": "_displayName",
          "type": "string"
        },
        {
          "name": "_subscriptionId",
          "type": "string"
        },
        {
          "name": "_role",
          "type": "string"
        },
        {
          "name": "_account",
          "type": "address"
        }
      ],
      "name": "injectMember",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function",
      "signature": "0xd3ed8a52"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_name",
          "type": "string"
        }
      ],
      "name": "removeMember",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function",
      "signature": "0xf55365a1"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_name",
          "type": "string"
        },
        {
          "name": "_account",
          "type": "address"
        }
      ],
      "name": "setMemberAccount",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function",
      "signature": "0xa1b02a62"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_name",
          "type": "string"
        },
        {
          "name": "_displayName",
          "type": "string"
        }
      ],
      "name": "setMemberDisplayName",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function",
      "signature": "0xf616c713"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_name",
          "type": "string"
        },
        {
          "name": "_role",
          "type": "string"
        }
      ],
      "name": "setMemberRole",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function",
      "signature": "0x6f8124d5"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "_name",
          "type": "string"
        }
      ],
      "name": "getMemberSubscriptionId",
      "outputs": [
        {
          "name": "",
          "type": "string"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function",
      "signature": "0xb4fd24e0"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "_name",
          "type": "string"
        }
      ],
      "name": "getMemberAccount",
      "outputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function",
      "signature": "0xf45d407e"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "_name",
          "type": "string"
        }
      ],
      "name": "getMemberDisplayName",
      "outputs": [
        {
          "name": "",
          "type": "string"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function",
      "signature": "0x65d8b798"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "_name",
          "type": "string"
        }
      ],
      "name": "getMemberRole",
      "outputs": [
        {
          "name": "",
          "type": "string"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function",
      "signature": "0x941a6cbd"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "_name",
          "type": "string"
        }
      ],
      "name": "getMemberStatus",
      "outputs": [
        {
          "name": "",
          "type": "string"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function",
      "signature": "0x8e690fc5"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "_name",
          "type": "string"
        }
      ],
      "name": "getMemberCorrelationId",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function",
      "signature": "0x2d5a8378"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "getAdminCount",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function",
      "signature": "0x8b7bf3eb"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "getMemberCount",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function",
      "signature": "0x997072f7"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "iterator",
          "type": "uint256"
        }
      ],
      "name": "getMemberNameAtIndex",
      "outputs": [
        {
          "name": "",
          "type": "string"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function",
      "signature": "0xbc245d3b"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_subscriptionId",
          "type": "string"
        },
        {
          "name": "_role",
          "type": "string"
        }
      ],
      "name": "inviteMember",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function",
      "signature": "0xbfda3ebe"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_subscriptionId",
          "type": "string"
        }
      ],
      "name": "removeInvitation",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function",
      "signature": "0x4444bc75"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_subscriptionId",
          "type": "string"
        },
        {
          "name": "_role",
          "type": "string"
        }
      ],
      "name": "setInvitationRole",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function",
      "signature": "0xb36420c1"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "_subscriptionId",
          "type": "string"
        }
      ],
      "name": "getInvitationRole",
      "outputs": [
        {
          "name": "",
          "type": "string"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function",
      "signature": "0x45143a48"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "_subscriptionId",
          "type": "string"
        }
      ],
      "name": "getInvitationCorrelationId",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function",
      "signature": "0x2dff0bed"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "getInvitationCount",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function",
      "signature": "0x446d3d95"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "iterator",
          "type": "uint256"
        }
      ],
      "name": "getInvitationSubscriptionIdAtIndex",
      "outputs": [
        {
          "name": "",
          "type": "string"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function",
      "signature": "0xe5b6e678"
    }
  ],
  "metadata": "{\"compiler\":{\"version\":\"0.4.24+commit.e67f0147\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":false,\"inputs\":[{\"name\":\"_name\",\"type\":\"string\"},{\"name\":\"_displayName\",\"type\":\"string\"},{\"name\":\"_subscriptionId\",\"type\":\"string\"},{\"name\":\"_account\",\"type\":\"address\"}],\"name\":\"addMember\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"activate\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_name\",\"type\":\"string\"}],\"name\":\"getMemberCorrelationId\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_subscriptionId\",\"type\":\"string\"}],\"name\":\"getInvitationCorrelationId\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_subscriptionId\",\"type\":\"string\"}],\"name\":\"removeInvitation\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getInvitationCount\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_subscriptionId\",\"type\":\"string\"}],\"name\":\"getInvitationRole\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_name\",\"type\":\"string\"}],\"name\":\"getMemberDisplayName\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_name\",\"type\":\"string\"},{\"name\":\"_role\",\"type\":\"string\"}],\"name\":\"setMemberRole\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getAdminCount\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_name\",\"type\":\"string\"}],\"name\":\"getMemberStatus\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_name\",\"type\":\"string\"}],\"name\":\"getMemberRole\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getMemberCount\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_name\",\"type\":\"string\"},{\"name\":\"_account\",\"type\":\"address\"}],\"name\":\"setMemberAccount\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_subscriptionId\",\"type\":\"string\"},{\"name\":\"_role\",\"type\":\"string\"}],\"name\":\"setInvitationRole\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_name\",\"type\":\"string\"}],\"name\":\"getMemberSubscriptionId\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"iterator\",\"type\":\"uint256\"}],\"name\":\"getMemberNameAtIndex\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_subscriptionId\",\"type\":\"string\"},{\"name\":\"_role\",\"type\":\"string\"}],\"name\":\"inviteMember\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_name\",\"type\":\"string\"},{\"name\":\"_displayName\",\"type\":\"string\"},{\"name\":\"_subscriptionId\",\"type\":\"string\"},{\"name\":\"_role\",\"type\":\"string\"},{\"name\":\"_account\",\"type\":\"address\"}],\"name\":\"injectMember\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"iterator\",\"type\":\"uint256\"}],\"name\":\"getInvitationSubscriptionIdAtIndex\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getAddressToReplace\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_name\",\"type\":\"string\"}],\"name\":\"getMemberAccount\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_name\",\"type\":\"string\"}],\"name\":\"removeMember\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_name\",\"type\":\"string\"},{\"name\":\"_displayName\",\"type\":\"string\"}],\"name\":\"setMemberDisplayName\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"name\":\"_rootContract\",\"type\":\"address\"},{\"name\":\"_updateFrom\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"name\",\"type\":\"string\"}],\"name\":\"MemberJoinedEvent\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"name\",\"type\":\"string\"}],\"name\":\"MemberLeftEvent\",\"type\":\"event\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/d/a/1/s/contracts/Members.sol\":\"Members\"},\"evmVersion\":\"byzantium\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/d/a/1/s/contracts/BaseUpdateable.sol\":{\"keccak256\":\"0x531b2d389f1c5f85c4890c04e7f5c0a7cc2452a50e4ed49d0adb4193703c2154\",\"urls\":[\"bzzr://bed7bc8bb485686610c78a1b8e484b27348fd108eac9ed12d5356db1c6fd1ed7\"]},\"/d/a/1/s/contracts/ConsortiumManagementContractVersion.sol\":{\"keccak256\":\"0x2851d86fd34b93bd9b6002bfa8d0a7c5cf233e730b136dacd6782d79878d0c6c\",\"urls\":[\"bzzr://f4a68a5d1bd44b7b5929107944d75cd56f8218427b7bdfc95446c1797eab0656\"]},\"/d/a/1/s/contracts/Constants.sol\":{\"keccak256\":\"0xb0c311d292c0115c36c1d5c3ed0c83afd594c90dd41d6c7992a1f66dff9a4375\",\"urls\":[\"bzzr://07b29230dbc162d19e3bef6a6217b21ebbac525e003ded9ba374e1d421f5103d\"]},\"/d/a/1/s/contracts/DataMigration/PrivatePreview/PrivatePreviewMembers.sol\":{\"keccak256\":\"0x464d80fafd484ef871067dff74b3cff4bb612c2d828ad2971969ff3ba0ffa622\",\"urls\":[\"bzzr://9866b5b815adf6fa1fe4d64a722254a5a8406a77b6bf57e018332e5181e70fd4\"]},\"/d/a/1/s/contracts/DataMigration/PrivatePreview/StringUtils.sol\":{\"keccak256\":\"0xa602edfa439272707e442e136088466b6288dde8250c97859541259f0d957ab6\",\"urls\":[\"bzzr://63fe4ef90c811e47bd23418c258d6b253479c59e48646920a76041056c9038a9\"]},\"/d/a/1/s/contracts/IUpdateable.sol\":{\"keccak256\":\"0xedc79dd0e302081684559ce370108b6e19ea702a03ce74a9cc3e26f9efb8af35\",\"urls\":[\"bzzr://364be739cfaaa27ff9c441f16c8e5012a00d60ac61d0ac1ed22884e37a602856\"]},\"/d/a/1/s/contracts/Members.sol\":{\"keccak256\":\"0x4ee59db17188a73a8be32df1d8bcc329f480f43c8d079d9787a6e14dcbad3155\",\"urls\":[\"bzzr://f7df3daed20e8057d41393915fadf24a4582ba317b0e2083989d94654f7cb940\"]},\"/d/a/1/s/contracts/RootContract.sol\":{\"keccak256\":\"0x8c1cae8fdf5ed0e4ee1271fd3c92ec919ac05ef140bea6ee80198762a7348889\",\"urls\":[\"bzzr://848dee81af651f184a07897de87af9f15dca5ab28bb2518e06ab33f751cee588\"]}},\"version\":1}",
  "bytecode": "0x608060405234801561001057600080fd5b5060405160408061448e83398101604052805160209091015160008054600160a060020a03938416600160a060020a03199182161790915560018054939092169216919091179055614427806100676000396000f3006080604052600436106101245763ffffffff60e060020a60003504166303934d7681146101295780630f15f4c01461020b5780632d5a8378146102205780632dff0bed1461028b5780634444bc75146102e4578063446d3d951461033d57806345143a481461035257806365d8b798146104205780636f8124d5146104795780638b7bf3eb146105105780638e690fc514610525578063941a6cbd1461057e578063997072f7146105d7578063a1b02a62146105ec578063b36420c114610650578063b4fd24e0146106e7578063bc245d3b14610740578063bfda3ebe14610758578063d3ed8a52146107ef578063e5b6e6781461090d578063e8c757d614610925578063f45d407e14610956578063f55365a1146109af578063f616c71314610a08575b600080fd5b34801561013557600080fd5b506040805160206004803580820135601f810184900484028501840190955284845261020994369492936024939284019190819084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a99988101979196509182019450925082915084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a99988101979196509182019450925082915084018382808284375094975050509235600160a060020a03169350610a9f92505050565b005b34801561021757600080fd5b50610209610b5d565b34801561022c57600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526102799436949293602493928401919081908401838280828437509497506114489650505050505050565b60408051918252519081900360200190f35b34801561029757600080fd5b506040805160206004803580820135601f810184900484028501840190955284845261027994369492936024939284019190819084018382808284375094975061153a9650505050505050565b3480156102f057600080fd5b506040805160206004803580820135601f810184900484028501840190955284845261020994369492936024939284019190819084018382808284375094975061162c9650505050505050565b34801561034957600080fd5b50610279611694565b34801561035e57600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526103ab94369492936024939284019190819084018382808284375094975061169b9650505050505050565b6040805160208082528351818301528351919283929083019185019080838360005b838110156103e55781810151838201526020016103cd565b50505050905090810190601f1680156104125780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561042c57600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526103ab9436949293602493928401919081908401838280828437509497506118259650505050505050565b34801561048557600080fd5b506040805160206004803580820135601f810184900484028501840190955284845261020994369492936024939284019190819084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a9998810197919650918201945092508291508401838280828437509497506119779650505050505050565b34801561051c57600080fd5b506102796119e1565b34801561053157600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526103ab9436949293602493928401919081908401838280828437509497506119e79650505050505050565b34801561058a57600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526103ab943694929360249392840191908190840183828082843750949750611a869650505050505050565b3480156105e357600080fd5b50610279611bc9565b3480156105f857600080fd5b506040805160206004803580820135601f810184900484028501840190955284845261020994369492936024939284019190819084018382808284375094975050509235600160a060020a03169350611bcf92505050565b34801561065c57600080fd5b506040805160206004803580820135601f810184900484028501840190955284845261020994369492936024939284019190819084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a999881019791965091820194509250829150840183828082843750949750611c5e9650505050505050565b3480156106f357600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526103ab943694929360249392840191908190840183828082843750949750611cc49650505050505050565b34801561074c57600080fd5b506103ab600435611e09565b34801561076457600080fd5b506040805160206004803580820135601f810184900484028501840190955284845261020994369492936024939284019190819084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a999881019791965091820194509250829150840183828082843750949750611f129650505050505050565b3480156107fb57600080fd5b506040805160206004803580820135601f810184900484028501840190955284845261020994369492936024939284019190819084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a99988101979196509182019450925082915084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a99988101979196509182019450925082915084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a99988101979196509182019450925082915084018382808284375094975050509235600160a060020a03169350611f8692505050565b34801561091957600080fd5b506103ab600435612030565b34801561093157600080fd5b5061093a612102565b60408051600160a060020a039092168252519081900360200190f35b34801561096257600080fd5b506040805160206004803580820135601f810184900484028501840190955284845261093a9436949293602493928401919081908401838280828437509497506121119650505050505050565b3480156109bb57600080fd5b506040805160206004803580820135601f810184900484028501840190955284845261020994369492936024939284019190819084018382808284375094975061220d9650505050505050565b348015610a1457600080fd5b506040805160206004803580820135601f810184900484028501840190955284845261020994369492936024939284019190819084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a9998810197919650918201945092508291508401838280828437509497506122ce9650505050505050565b60606000610aac33612450565b1515610b28576040805160e560020a62461bcd02815260206004820152602660248201527f4f6e6c79207065726d69747320696e766f636174696f6e2066726f6d206f706560448201527f7261746f722e0000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b610b318461169b565b9150610b3c8461153a565b9050610b47846124e5565b610b55868686858786612794565b505050505050565b60008054606090819081908190859081908190819081908190600160a060020a03163314610bfb576040805160e560020a62461bcd02815260206004820152602f60248201527f4f6e6c7920526f6f74436f6e74726163742063616e20696e766f6b652061637460448201527f69766174652066756e6374696f6e2e0000000000000000000000000000000000606482015290519081900360840190fd5b600154600160a060020a03161515610c125761143b565b610c1a612b70565b50909550935084158015610c2c575083155b1515610ca8576040805160e560020a62461bcd02815260206004820152603760248201527f4d6967726174696f6e2066726f6d2076657273696f6e73206f7468657220746860448201527f616e20302e30206973206e6f742065787065637465642e000000000000000000606482015290519081900360840190fd5b600160009054906101000a9004600160a060020a0316925082600160a060020a031663fb38eb456040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015610cfe57600080fd5b505af1158015610d12573d6000803e3d6000fd5b505050506040513d6020811015610d2857600080fd5b50519a505b82600160a060020a031663c73f52eb6040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015610d6b57600080fd5b505af1158015610d7f573d6000803e3d6000fd5b505050506040513d6020811015610d9557600080fd5b50518b101561143b5782600160a060020a031663b74be0a78c6040518263ffffffff1660e060020a02815260040180828152602001915050600060405180830381600087803b158015610de757600080fd5b505af1158015610dfb573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526020811015610e2457600080fd5b810190808051640100000000811115610e3c57600080fd5b82016020810184811115610e4f57600080fd5b8151640100000000811182820187101715610e6957600080fd5b5050929190505050995082600160a060020a031663b4fd24e08b6040518263ffffffff1660e060020a0281526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610ed2578181015183820152602001610eba565b50505050905090810190601f168015610eff5780820380516001836020036101000a031916815260200191505b5092505050600060405180830381600087803b158015610f1e57600080fd5b505af1158015610f32573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526020811015610f5b57600080fd5b810190808051640100000000811115610f7357600080fd5b82016020810184811115610f8657600080fd5b8151640100000000811182820187101715610fa057600080fd5b5050929190505050985082600160a060020a031663941a6cbd8b6040518263ffffffff1660e060020a0281526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611009578181015183820152602001610ff1565b50505050905090810190601f1680156110365780820380516001836020036101000a031916815260200191505b5092505050600060405180830381600087803b15801561105557600080fd5b505af1158015611069573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561109257600080fd5b8101908080516401000000008111156110aa57600080fd5b820160208101848111156110bd57600080fd5b81516401000000008111828201871017156110d757600080fd5b5050929190505050975082600160a060020a0316638e690fc58b6040518263ffffffff1660e060020a0281526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611140578181015183820152602001611128565b50505050905090810190601f16801561116d5780820380516001836020036101000a031916815260200191505b5092505050600060405180830381600087803b15801561118c57600080fd5b505af11580156111a0573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260208110156111c957600080fd5b8101908080516401000000008111156111e157600080fd5b820160208101848111156111f457600080fd5b815164010000000081118282018710171561120e57600080fd5b5050929190505050965082600160a060020a031663f45d407e8b6040518263ffffffff1660e060020a0281526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561127757818101518382015260200161125f565b50505050905090810190601f1680156112a45780820380516001836020036101000a031916815260200191505b5092505050602060405180830381600087803b1580156112c357600080fd5b505af11580156112d7573d6000803e3d6000fd5b505050506040513d60208110156112ed57600080fd5b505160408051808201909152600481527f4c656674000000000000000000000000000000000000000000000000000000006020820152909650611331908890612e08565b9150611372876040805190810160405280600581526020017f5265616479000000000000000000000000000000000000000000000000000000815250612e08565b9050811561137f57611430565b8080156113945750600160a060020a03861615155b156113bc576113b78a8b8b8b8a6006600081548092919060010191905055612794565b611430565b6113c589612f95565b15156113e35760068054600181019091556113b7908a908a90613002565b6113ec88613170565b1561143057611430896040805190810160405280600581526020017f41444d494e0000000000000000000000000000000000000000000000000000008152506131b7565b6001909a0199610d2d565b5050505050505050505050565b600081611454816132b8565b15156114ac576040805160e560020a62461bcd028152602060048201526028602482015260008051602061437c833981519152604482015260008051602061439c833981519152606482015290519081900360840190fd5b600460016002856040518082805190602001908083835b602083106114e25780518252601f1990920191602091820191016114c3565b51815160209384036101000a600019018019909216911617905292019485525060405193849003019092205484549390039283109150611520905057fe5b906000526020600020906006020160050154915050919050565b60008161154681612f95565b151561159e576040805160e560020a62461bcd02815260206004820152603e60248201526000805160206143bc833981519152604482015260008051602061435c833981519152606482015290519081900360840190fd5b600860016007856040518082805190602001908083835b602083106115d45780518252601f1990920191602091820191016115b5565b51815160209384036101000a600019018019909216911617905292019485525060405193849003019092205484549390039283109150611612905057fe5b906000526020600020906003020160020154915050919050565b611635336132ec565b1515611688576040805160e560020a62461bcd028152602060048201526024808201526000805160206143dc833981519152604482015260e160020a6334b7399702606482015290519081900360840190fd5b611691816124e5565b50565b6008545b90565b6060816116a781612f95565b15156116ff576040805160e560020a62461bcd02815260206004820152603e60248201526000805160206143bc833981519152604482015260008051602061435c833981519152606482015290519081900360840190fd5b600860016007856040518082805190602001908083835b602083106117355780518252601f199092019160209182019101611716565b51815160209384036101000a600019018019909216911617905292019485525060405193849003019092205484549390039283109150611773905057fe5b90600052602060002090600302016001018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156118185780601f106117ed57610100808354040283529160200191611818565b820191906000526020600020905b8154815290600101906020018083116117fb57829003601f168201915b5050505050915050919050565b606081611831816132b8565b1515611889576040805160e560020a62461bcd028152602060048201526028602482015260008051602061437c833981519152604482015260008051602061439c833981519152606482015290519081900360840190fd5b600460016002856040518082805190602001908083835b602083106118bf5780518252601f1990920191602091820191016118a0565b51815160209384036101000a6000190180199092169116179052920194855250604051938490030190922054845493900392831091506118fd905057fe5b90600052602060002090600602016001018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156118185780601f106117ed57610100808354040283529160200191611818565b611980336132ec565b15156119d3576040805160e560020a62461bcd028152602060048201526024808201526000805160206143dc833981519152604482015260e160020a6334b7399702606482015290519081900360840190fd5b6119dd82826135c3565b5050565b60055490565b6060816119f3816132b8565b1515611a4b576040805160e560020a62461bcd028152602060048201526028602482015260008051602061437c833981519152604482015260008051602061439c833981519152606482015290519081900360840190fd5b505060408051808201909152600581527f52656164790000000000000000000000000000000000000000000000000000006020820152919050565b606081611a92816132b8565b1515611aea576040805160e560020a62461bcd028152602060048201526028602482015260008051602061437c833981519152604482015260008051602061439c833981519152606482015290519081900360840190fd5b600460016002856040518082805190602001908083835b60208310611b205780518252601f199092019160209182019101611b01565b51815160209384036101000a600019018019909216911617905292019485525060405193849003019092205484549390039283109150611b5e905057fe5b6000918252602091829020600360069092020101805460408051601f60026000196101006001871615020190941693909304928301859004850281018501909152818152928301828280156118185780601f106117ed57610100808354040283529160200191611818565b60045490565b611bd833612450565b1515611c54576040805160e560020a62461bcd02815260206004820152602660248201527f4f6e6c79207065726d69747320696e766f636174696f6e2066726f6d206f706560448201527f7261746f722e0000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b6119dd828261385b565b611c67336132ec565b1515611cba576040805160e560020a62461bcd028152602060048201526024808201526000805160206143dc833981519152604482015260e160020a6334b7399702606482015290519081900360840190fd5b6119dd82826131b7565b606081611cd0816132b8565b1515611d28576040805160e560020a62461bcd028152602060048201526028602482015260008051602061437c833981519152604482015260008051602061439c833981519152606482015290519081900360840190fd5b600460016002856040518082805190602001908083835b60208310611d5e5780518252601f199092019160209182019101611d3f565b51815160209384036101000a600019018019909216911617905292019485525060405193849003019092205484549390039283109150611d9c905057fe5b600091825260209182902060026006909202018101805460408051601f6000196101006001861615020190931694909404918201859004850284018501905280835291929091908301828280156118185780601f106117ed57610100808354040283529160200191611818565b6004546060908210611e65576040805160e560020a62461bcd02815260206004820152601a60248201527f496e76616c6964206974657261746f7220737570706c6965642e000000000000604482015290519081900360640190fd5b6004805483908110611e7357fe5b6000918252602091829020600690910201805460408051601f6002600019610100600187161502019094169390930492830185900485028101850190915281815292830182828015611f065780601f10611edb57610100808354040283529160200191611f06565b820191906000526020600020905b815481529060010190602001808311611ee957829003601f168201915b50505050509050919050565b611f1b336132ec565b1515611f6e576040805160e560020a62461bcd028152602060048201526024808201526000805160206143dc833981519152604482015260e160020a6334b7399702606482015290519081900360840190fd5b60068054600181019091556119dd9083908390613002565b611f8f33612450565b151561200b576040805160e560020a62461bcd02815260206004820152602660248201527f4f6e6c79207065726d69747320696e766f636174696f6e2066726f6d206f706560448201527f7261746f722e0000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b61202985858585856006600081548092919060010191905055612794565b5050505050565b600854606090821061208c576040805160e560020a62461bcd02815260206004820152601a60248201527f496e76616c6964206974657261746f7220737570706c6965642e000000000000604482015290519081900360640190fd5b600880548390811061209a57fe5b6000918252602091829020600390910201805460408051601f6002600019610100600187161502019094169390930492830185900485028101850190915281815292830182828015611f065780601f10611edb57610100808354040283529160200191611f06565b600154600160a060020a031690565b60008161211d816132b8565b1515612175576040805160e560020a62461bcd028152602060048201526028602482015260008051602061437c833981519152604482015260008051602061439c833981519152606482015290519081900360840190fd5b600460016002856040518082805190602001908083835b602083106121ab5780518252601f19909201916020918201910161218c565b51815160209384036101000a6000190180199092169116179052920194855250604051938490030190922054845493900392831091506121e9905057fe5b6000918252602090912060069091020160040154600160a060020a03169392505050565b612216336132ec565b8061222657506122263382613add565b80612235575061223533612450565b15156122c5576040805160e560020a62461bcd02815260206004820152604b60248201526000805160206143dc83398151915260448201527f696e732c20746865206d656d626572207468656d73656c766573206f7220746860648201527f65206f70657261746f722e000000000000000000000000000000000000000000608482015290519081900360a40190fd5b61169181613b8d565b816122d93382613add565b1515612355576040805160e560020a62461bcd02815260206004820152603660248201527f4f6e6c79207065726d69747320696e766f636174696f6e2066726f6d2074686560448201527f206d656d6265722773206f776e206163636f756e742e00000000000000000000606482015290519081900360840190fd5b8261235f816132b8565b15156123b7576040805160e560020a62461bcd028152602060048201526028602482015260008051602061437c833981519152604482015260008051602061439c833981519152606482015290519081900360840190fd5b82600460016002876040518082805190602001908083835b602083106123ee5780518252601f1990920191602091820191016123cf565b51815160209384036101000a60001901801990921691161790529201948552506040519384900301909220548454939003928310915061242c905057fe5b90600052602060002090600602016001019080519060200190612029929190614102565b60008060009054906101000a9004600160a060020a0316600160a060020a031663570ca7356040518163ffffffff1660e060020a028152600401602060405180830381600087803b1580156124a457600080fd5b505af11580156124b8573d6000803e3d6000fd5b505050506040513d60208110156124ce57600080fd5b5051600160a060020a038381169116149050919050565b600080826124f281612f95565b151561254a576040805160e560020a62461bcd02815260206004820152603e60248201526000805160206143bc833981519152604482015260008051602061435c833981519152606482015290519081900360840190fd5b60016007856040518082805190602001908083835b6020831061257e5780518252601f19909201916020918201910161255f565b6001836020036101000a03801982511681845116808217855250505050505090500191505090815260200160405180910390205403925060086001600880549050038154811015156125cc57fe5b90600052602060002090600302019150816008848154811015156125ec57fe5b906000526020600020906003020160008201816000019080546001816001161561010002031660029004612621929190614180565b5060018201816001019080546001816001161561010002031660029004612649929190614180565b50600282015481600201559050508260010160078360000160405180828054600181600116156101000203166002900480156126bc5780601f1061269a5761010080835404028352918201916126bc565b820191906000526020600020905b8154815290600101906020018083116126a8575b50509150509081526020016040518091039020819055506007846040518082805190602001908083835b602083106127055780518252601f1990920191602091820191016126e6565b51815160001960209485036101000a810191821691199290921617909152939091019586526040519586900301909420600090556008805490945090810192508210905061274f57fe5b6000918252602082206003909102019061276982826141f5565b6127776001830160006141f5565b506000600291909101556008805490612029906000198301614239565b61279d866132b8565b15612818576040805160e560020a62461bcd02815260206004820152602760248201527f41206d656d62657220776974682073756368206e616d6520616c72656164792060448201527f6578697374732e00000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b612821826140ba565b1561289c576040805160e560020a62461bcd02815260206004820152602a60248201527f41206d656d62657220776974682073756368206164647265737320616c72656160448201527f6479206578697374732e00000000000000000000000000000000000000000000606482015290519081900360840190fd5b600160a060020a0382161515612922576040805160e560020a62461bcd02815260206004820152602860248201527f41737369676e696e672061207a65726f2061646472657373206973206e6f742060448201527f616c6c6f7765642e000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b6040805160c081018252878152602080820188905291810186905260608101859052600160a060020a038416608082015260a08101839052600480546001810180835560009290925282518051929460069092027f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b01926129a69284920190614102565b5060208281015180516129bf9260018501920190614102565b50604082015180516129db916002840191602090910190614102565b50606082015180516129f7916003840191602090910190614102565b5060808201518160040160006101000a815481600160a060020a030219169083600160a060020a0316021790555060a082015181600501555050506004805490506002876040518082805190602001908083835b60208310612a6a5780518252601f199092019160209182019101612a4b565b51815160209384036101000a600019018019909216911617905292019485525060408051948590038201909420949094555050600454600160a060020a03851660009081526003909352912055612ac083613170565b15612acf576005805460010190555b7f6907ef36b4ec2ac0dbcf68e4e88d58e46d33a9befbd092de26182eeb8a043104866040518080602001828103825283818151815260200191508051906020019080838360005b83811015612b2e578181015183820152602001612b16565b50505050905090810190601f168015612b5b5780820380516001836020036101000a031916815260200191505b509250505060405180910390a1505050505050565b60008054604080517f35817773000000000000000000000000000000000000000000000000000000008152602060048201819052602360248301527f436f6e736f727469756d4d616e6167656d656e74436f6e74726163745665727360448301527f696f6e0000000000000000000000000000000000000000000000000000000000606483015291518493849384938493600160a060020a039093169263358177739260848084019391929182900301818787803b158015612c3157600080fd5b505af1158015612c45573d6000803e3d6000fd5b505050506040513d6020811015612c5b57600080fd5b50519150600160a060020a0382161515612c7e5760009450849350839250612e01565b81905080600160a060020a031663f50bf2086040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015612cbf57600080fd5b505af1158015612cd3573d6000803e3d6000fd5b505050506040513d6020811015612ce957600080fd5b5051604080517f75494fc70000000000000000000000000000000000000000000000000000000081529051600160a060020a038416916375494fc79160048083019260209291908290030181600087803b158015612d4657600080fd5b505af1158015612d5a573d6000803e3d6000fd5b505050506040513d6020811015612d7057600080fd5b5051604080517f21057a1d0000000000000000000000000000000000000000000000000000000081529051600160a060020a038516916321057a1d9160048083019260209291908290030181600087803b158015612dcd57600080fd5b505af1158015612de1573d6000803e3d6000fd5b505050506040513d6020811015612df757600080fd5b5051919650945092505b5050909192565b6000816040516020018082805190602001908083835b60208310612e3d5780518252601f199092019160209182019101612e1e565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040516020818303038152906040526040518082805190602001908083835b60208310612ea05780518252601f199092019160209182019101612e81565b51815160209384036101000a60001901801990921691161790526040519190930181900381208851909550889450908301928392508401908083835b60208310612efb5780518252601f199092019160209182019101612edc565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040516020818303038152906040526040518082805190602001908083835b60208310612f5e5780518252601f199092019160209182019101612f3f565b5181516020939093036101000a60001901801990911692169190911790526040519201829003909120939093149695505050505050565b6000806007836040518082805190602001908083835b60208310612fca5780518252601f199092019160209182019101612fab565b51815160209384036101000a600019018019909216911617905292019485525060405193849003019092205492909211949350505050565b61300b83612f95565b15613074576040805160e560020a62461bcd02815260206004820152603d60248201526000805160206143bc83398151915260448201527f62736372697074696f6e20696420616c7265616479206578697374732e000000606482015290519081900360840190fd5b604080516060810182528481526020808201859052918101839052600880546001810180835560009290925282518051929460039092027ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee301926130db9284920190614102565b5060208281015180516130f49260018501920190614102565b50604082015181600201555050506008805490506007846040518082805190602001908083835b6020831061313a5780518252601f19909201916020918201910161311b565b51815160209384036101000a60001901801990921691161790529201948552506040519384900301909220929092555050505050565b60006131b1826040805190810160405280600581526020017f41444d494e000000000000000000000000000000000000000000000000000000815250612e08565b92915050565b816131c181612f95565b1515613219576040805160e560020a62461bcd02815260206004820152603e60248201526000805160206143bc833981519152604482015260008051602061435c833981519152606482015290519081900360840190fd5b81600860016007866040518082805190602001908083835b602083106132505780518252601f199092019160209182019101613231565b51815160209384036101000a60001901801990921691161790529201948552506040519384900301909220548454939003928310915061328e905057fe5b906000526020600020906003020160010190805190602001906132b2929190614102565b50505050565b60008060028360405180828051906020019080838360208310612fca5780518252601f199092019160209182019101612fab565b60006132f7826140ba565b80156131b15750600160a060020a038216600090815260036020526040902054600480546131b1926000190190811061332c57fe5b600091825260209182902060408051600693909302909101805460026001821615610100026000190190911604601f8101859004909402830160e090810190925260c08301848152929390928492909184918401828280156133cf5780601f106133a4576101008083540402835291602001916133cf565b820191906000526020600020905b8154815290600101906020018083116133b257829003601f168201915b50505050508152602001600182018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156134715780601f1061344657610100808354040283529160200191613471565b820191906000526020600020905b81548152906001019060200180831161345457829003601f168201915b5050509183525050600282810180546040805160206001841615610100026000190190931694909404601f810183900483028501830190915280845293810193908301828280156135035780601f106134d857610100808354040283529160200191613503565b820191906000526020600020905b8154815290600101906020018083116134e657829003601f168201915b505050918352505060038201805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529382019392918301828280156135975780601f1061356c57610100808354040283529160200191613597565b820191906000526020600020905b81548152906001019060200180831161357a57829003601f168201915b50505091835250506004820154600160a060020a031660208201526005909101546040909101526140d6565b6000826135cf816132b8565b1515613627576040805160e560020a62461bcd028152602060048201526028602482015260008051602061437c833981519152604482015260008051602061439c833981519152606482015290519081900360840190fd5b60016002856040518082805190602001908083835b6020831061365b5780518252601f19909201916020918201910161363c565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020540391506137456004838154811015156136a457fe5b6000918252602091829020600360069092020101805460408051601f600260001961010060018716150201909416939093049283018590048502810185019091528181529283018282801561373a5780601f1061370f5761010080835404028352916020019161373a565b820191906000526020600020905b81548152906001019060200180831161371d57829003601f168201915b505050505084612e08565b1561374f576132b2565b61376160048381548110151561332c57fe5b156138005760055460001061377257fe5b600580546000190190556137846140f9565b1515613800576040805160e560020a62461bcd02815260206004820152602a60248201527f436f6e736f727469756d2073686f756c642068617665206174206c656173742060448201527f6f6e652061646d696e2e00000000000000000000000000000000000000000000606482015290519081900360840190fd5b8260048381548110151561381057fe5b90600052602060002090600602016003019080519060200190613834929190614102565b5061384760048381548110151561332c57fe5b156132b25760058054600101905550505050565b60008083613868816132b8565b15156138c0576040805160e560020a62461bcd028152602060048201526028602482015260008051602061437c833981519152604482015260008051602061439c833981519152606482015290519081900360840190fd5b6138c9846140ba565b15613944576040805160e560020a62461bcd02815260206004820152602a60248201527f41206d656d62657220776974682073756368206164647265737320616c72656160448201527f6479206578697374732e00000000000000000000000000000000000000000000606482015290519081900360840190fd5b600160a060020a03841615156139ca576040805160e560020a62461bcd02815260206004820152602860248201527f41737369676e696e672061207a65726f2061646472657373206973206e6f742060448201527f616c6c6f7765642e000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b60016002866040518082805190602001908083835b602083106139fe5780518252601f1990920191602091820191016139df565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902054039250600483815481101515613a4457fe5b600091825260208083206004600690930201820154600160a060020a0316808452600390915260408320929092558054919350859185908110613a8357fe5b60009182526020808320600692909202909101600401805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03948516179055959091168152600390945250506040909120600191909101905550565b6000613ae8826132b8565b8015613b865750600460016002846040518082805190602001908083835b60208310613b255780518252601f199092019160209182019101613b06565b51815160209384036101000a600019018019909216911617905292019485525060405193849003019092205484549390039283109150613b63905057fe5b6000918252602090912060046006909202010154600160a060020a038481169116145b9392505050565b60008060008084613b9d816132b8565b1515613bf5576040805160e560020a62461bcd028152602060048201526028602482015260008051602061437c833981519152604482015260008051602061439c833981519152606482015290519081900360840190fd5b60016002876040518082805190602001908083835b60208310613c295780518252601f199092019160209182019101613c0a565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902054039450600485815481101515613c6f57fe5b600091825260209182902060069190910201600481015460408051835460026101006001831615026000190190911604601f8101869004909502810160e090810190925260c08101858152939850600160a060020a039092169650613cfd939192889284928491908401828280156133cf5780601f106133a4576101008083540402835291602001916133cf565b15613d9c57600554600010613d0e57fe5b60058054600019019055613d206140f9565b1515613d9c576040805160e560020a62461bcd02815260206004820152602a60248201527f436f6e736f727469756d2073686f756c642068617665206174206c656173742060448201527f6f6e652061646d696e2e00000000000000000000000000000000000000000000606482015290519081900360840190fd5b600480546000198101908110613dae57fe5b9060005260206000209060060201915081600486815481101515613dce57fe5b906000526020600020906006020160008201816000019080546001816001161561010002031660029004613e03929190614180565b5060018201816001019080546001816001161561010002031660029004613e2b929190614180565b5060028281018054613e50928481019291600019610100600183161502011604614180565b5060038201816003019080546001816001161561010002031660029004613e78929190614180565b50600482810154908201805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0390921691909117905560059182015491015560405182546001878101926002928692829184918116156101000260001901168590048015613f1b5780601f10613ef9576101008083540402835291820191613f1b565b820191906000526020600020905b815481529060010190602001808311613f07575b50509283525050604080519182900360209081018320939093556004850154600160a060020a0390811660009081526003855282812060018b019055908716815290812055875160029289929182918401908083835b60208310613f905780518252601f199092019160209182019101613f71565b51815160001960209485036101000a8101918216911992909216179091529390910195865260405195869003019094206000905560048054909450908101925082109050613fda57fe5b60009182526020822060069091020190613ff482826141f5565b6140026001830160006141f5565b6140106002830160006141f5565b61401e6003830160006141f5565b506004818101805473ffffffffffffffffffffffffffffffffffffffff19169055600060059092019190915580549061405b90600019830161426a565b507fce76cde84f41d02c564cb9c9416a2bb5deb93e11997544be0f46b97c1789bc498660405180806020018281038252838181518152602001915080519060200190808383600083811015612b2e578181015183820152602001612b16565b600160a060020a03166000908152600360205260408120541190565b60006140e582600001516132b8565b80156131b157506131b18260600151613170565b60055460001090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061414357805160ff1916838001178555614170565b82800160010185558215614170579182015b82811115614170578251825591602001919060010190614155565b5061417c929150614296565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106141b95780548555614170565b8280016001018555821561417057600052602060002091601f016020900482015b828111156141705782548255916001019190600101906141da565b50805460018160011615610100020316600290046000825580601f1061421b5750611691565b601f0160209004906000526020600020908101906116919190614296565b8154818355818111156142655760030281600302836000526020600020918201910161426591906142b0565b505050565b8154818355818111156142655760060281600602836000526020600020918201910161426591906142e8565b61169891905b8082111561417c576000815560010161429c565b61169891905b8082111561417c5760006142ca82826141f5565b6142d86001830160006141f5565b50600060028201556003016142b6565b61169891905b8082111561417c57600061430282826141f5565b6143106001830160006141f5565b61431e6002830160006141f5565b61432c6003830160006141f5565b5060048101805473ffffffffffffffffffffffffffffffffffffffff19169055600060058201556006016142ee560062736372697074696f6e20696420646f6573206e6f74206578697374732e000041206d656d62657220776974682073756368206e616d6520646f6573206e6f74206578697374732e00000000000000000000000000000000000000000000000041206d656d62657220696e7669746174696f6e207769746820737563682073754f6e6c79207065726d69747320696e766f636174696f6e2066726f6d2061646da165627a7a72305820a9a8aab7c19d6fd715f409e0444adb7d005756ff90bbddf642d1e17e52bba2880029",
  "deployedBytecode": "0x6080604052600436106101245763ffffffff60e060020a60003504166303934d7681146101295780630f15f4c01461020b5780632d5a8378146102205780632dff0bed1461028b5780634444bc75146102e4578063446d3d951461033d57806345143a481461035257806365d8b798146104205780636f8124d5146104795780638b7bf3eb146105105780638e690fc514610525578063941a6cbd1461057e578063997072f7146105d7578063a1b02a62146105ec578063b36420c114610650578063b4fd24e0146106e7578063bc245d3b14610740578063bfda3ebe14610758578063d3ed8a52146107ef578063e5b6e6781461090d578063e8c757d614610925578063f45d407e14610956578063f55365a1146109af578063f616c71314610a08575b600080fd5b34801561013557600080fd5b506040805160206004803580820135601f810184900484028501840190955284845261020994369492936024939284019190819084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a99988101979196509182019450925082915084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a99988101979196509182019450925082915084018382808284375094975050509235600160a060020a03169350610a9f92505050565b005b34801561021757600080fd5b50610209610b5d565b34801561022c57600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526102799436949293602493928401919081908401838280828437509497506114489650505050505050565b60408051918252519081900360200190f35b34801561029757600080fd5b506040805160206004803580820135601f810184900484028501840190955284845261027994369492936024939284019190819084018382808284375094975061153a9650505050505050565b3480156102f057600080fd5b506040805160206004803580820135601f810184900484028501840190955284845261020994369492936024939284019190819084018382808284375094975061162c9650505050505050565b34801561034957600080fd5b50610279611694565b34801561035e57600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526103ab94369492936024939284019190819084018382808284375094975061169b9650505050505050565b6040805160208082528351818301528351919283929083019185019080838360005b838110156103e55781810151838201526020016103cd565b50505050905090810190601f1680156104125780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561042c57600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526103ab9436949293602493928401919081908401838280828437509497506118259650505050505050565b34801561048557600080fd5b506040805160206004803580820135601f810184900484028501840190955284845261020994369492936024939284019190819084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a9998810197919650918201945092508291508401838280828437509497506119779650505050505050565b34801561051c57600080fd5b506102796119e1565b34801561053157600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526103ab9436949293602493928401919081908401838280828437509497506119e79650505050505050565b34801561058a57600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526103ab943694929360249392840191908190840183828082843750949750611a869650505050505050565b3480156105e357600080fd5b50610279611bc9565b3480156105f857600080fd5b506040805160206004803580820135601f810184900484028501840190955284845261020994369492936024939284019190819084018382808284375094975050509235600160a060020a03169350611bcf92505050565b34801561065c57600080fd5b506040805160206004803580820135601f810184900484028501840190955284845261020994369492936024939284019190819084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a999881019791965091820194509250829150840183828082843750949750611c5e9650505050505050565b3480156106f357600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526103ab943694929360249392840191908190840183828082843750949750611cc49650505050505050565b34801561074c57600080fd5b506103ab600435611e09565b34801561076457600080fd5b506040805160206004803580820135601f810184900484028501840190955284845261020994369492936024939284019190819084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a999881019791965091820194509250829150840183828082843750949750611f129650505050505050565b3480156107fb57600080fd5b506040805160206004803580820135601f810184900484028501840190955284845261020994369492936024939284019190819084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a99988101979196509182019450925082915084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a99988101979196509182019450925082915084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a99988101979196509182019450925082915084018382808284375094975050509235600160a060020a03169350611f8692505050565b34801561091957600080fd5b506103ab600435612030565b34801561093157600080fd5b5061093a612102565b60408051600160a060020a039092168252519081900360200190f35b34801561096257600080fd5b506040805160206004803580820135601f810184900484028501840190955284845261093a9436949293602493928401919081908401838280828437509497506121119650505050505050565b3480156109bb57600080fd5b506040805160206004803580820135601f810184900484028501840190955284845261020994369492936024939284019190819084018382808284375094975061220d9650505050505050565b348015610a1457600080fd5b506040805160206004803580820135601f810184900484028501840190955284845261020994369492936024939284019190819084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a9998810197919650918201945092508291508401838280828437509497506122ce9650505050505050565b60606000610aac33612450565b1515610b28576040805160e560020a62461bcd02815260206004820152602660248201527f4f6e6c79207065726d69747320696e766f636174696f6e2066726f6d206f706560448201527f7261746f722e0000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b610b318461169b565b9150610b3c8461153a565b9050610b47846124e5565b610b55868686858786612794565b505050505050565b60008054606090819081908190859081908190819081908190600160a060020a03163314610bfb576040805160e560020a62461bcd02815260206004820152602f60248201527f4f6e6c7920526f6f74436f6e74726163742063616e20696e766f6b652061637460448201527f69766174652066756e6374696f6e2e0000000000000000000000000000000000606482015290519081900360840190fd5b600154600160a060020a03161515610c125761143b565b610c1a612b70565b50909550935084158015610c2c575083155b1515610ca8576040805160e560020a62461bcd02815260206004820152603760248201527f4d6967726174696f6e2066726f6d2076657273696f6e73206f7468657220746860448201527f616e20302e30206973206e6f742065787065637465642e000000000000000000606482015290519081900360840190fd5b600160009054906101000a9004600160a060020a0316925082600160a060020a031663fb38eb456040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015610cfe57600080fd5b505af1158015610d12573d6000803e3d6000fd5b505050506040513d6020811015610d2857600080fd5b50519a505b82600160a060020a031663c73f52eb6040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015610d6b57600080fd5b505af1158015610d7f573d6000803e3d6000fd5b505050506040513d6020811015610d9557600080fd5b50518b101561143b5782600160a060020a031663b74be0a78c6040518263ffffffff1660e060020a02815260040180828152602001915050600060405180830381600087803b158015610de757600080fd5b505af1158015610dfb573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526020811015610e2457600080fd5b810190808051640100000000811115610e3c57600080fd5b82016020810184811115610e4f57600080fd5b8151640100000000811182820187101715610e6957600080fd5b5050929190505050995082600160a060020a031663b4fd24e08b6040518263ffffffff1660e060020a0281526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610ed2578181015183820152602001610eba565b50505050905090810190601f168015610eff5780820380516001836020036101000a031916815260200191505b5092505050600060405180830381600087803b158015610f1e57600080fd5b505af1158015610f32573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526020811015610f5b57600080fd5b810190808051640100000000811115610f7357600080fd5b82016020810184811115610f8657600080fd5b8151640100000000811182820187101715610fa057600080fd5b5050929190505050985082600160a060020a031663941a6cbd8b6040518263ffffffff1660e060020a0281526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611009578181015183820152602001610ff1565b50505050905090810190601f1680156110365780820380516001836020036101000a031916815260200191505b5092505050600060405180830381600087803b15801561105557600080fd5b505af1158015611069573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561109257600080fd5b8101908080516401000000008111156110aa57600080fd5b820160208101848111156110bd57600080fd5b81516401000000008111828201871017156110d757600080fd5b5050929190505050975082600160a060020a0316638e690fc58b6040518263ffffffff1660e060020a0281526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611140578181015183820152602001611128565b50505050905090810190601f16801561116d5780820380516001836020036101000a031916815260200191505b5092505050600060405180830381600087803b15801561118c57600080fd5b505af11580156111a0573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260208110156111c957600080fd5b8101908080516401000000008111156111e157600080fd5b820160208101848111156111f457600080fd5b815164010000000081118282018710171561120e57600080fd5b5050929190505050965082600160a060020a031663f45d407e8b6040518263ffffffff1660e060020a0281526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561127757818101518382015260200161125f565b50505050905090810190601f1680156112a45780820380516001836020036101000a031916815260200191505b5092505050602060405180830381600087803b1580156112c357600080fd5b505af11580156112d7573d6000803e3d6000fd5b505050506040513d60208110156112ed57600080fd5b505160408051808201909152600481527f4c656674000000000000000000000000000000000000000000000000000000006020820152909650611331908890612e08565b9150611372876040805190810160405280600581526020017f5265616479000000000000000000000000000000000000000000000000000000815250612e08565b9050811561137f57611430565b8080156113945750600160a060020a03861615155b156113bc576113b78a8b8b8b8a6006600081548092919060010191905055612794565b611430565b6113c589612f95565b15156113e35760068054600181019091556113b7908a908a90613002565b6113ec88613170565b1561143057611430896040805190810160405280600581526020017f41444d494e0000000000000000000000000000000000000000000000000000008152506131b7565b6001909a0199610d2d565b5050505050505050505050565b600081611454816132b8565b15156114ac576040805160e560020a62461bcd028152602060048201526028602482015260008051602061437c833981519152604482015260008051602061439c833981519152606482015290519081900360840190fd5b600460016002856040518082805190602001908083835b602083106114e25780518252601f1990920191602091820191016114c3565b51815160209384036101000a600019018019909216911617905292019485525060405193849003019092205484549390039283109150611520905057fe5b906000526020600020906006020160050154915050919050565b60008161154681612f95565b151561159e576040805160e560020a62461bcd02815260206004820152603e60248201526000805160206143bc833981519152604482015260008051602061435c833981519152606482015290519081900360840190fd5b600860016007856040518082805190602001908083835b602083106115d45780518252601f1990920191602091820191016115b5565b51815160209384036101000a600019018019909216911617905292019485525060405193849003019092205484549390039283109150611612905057fe5b906000526020600020906003020160020154915050919050565b611635336132ec565b1515611688576040805160e560020a62461bcd028152602060048201526024808201526000805160206143dc833981519152604482015260e160020a6334b7399702606482015290519081900360840190fd5b611691816124e5565b50565b6008545b90565b6060816116a781612f95565b15156116ff576040805160e560020a62461bcd02815260206004820152603e60248201526000805160206143bc833981519152604482015260008051602061435c833981519152606482015290519081900360840190fd5b600860016007856040518082805190602001908083835b602083106117355780518252601f199092019160209182019101611716565b51815160209384036101000a600019018019909216911617905292019485525060405193849003019092205484549390039283109150611773905057fe5b90600052602060002090600302016001018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156118185780601f106117ed57610100808354040283529160200191611818565b820191906000526020600020905b8154815290600101906020018083116117fb57829003601f168201915b5050505050915050919050565b606081611831816132b8565b1515611889576040805160e560020a62461bcd028152602060048201526028602482015260008051602061437c833981519152604482015260008051602061439c833981519152606482015290519081900360840190fd5b600460016002856040518082805190602001908083835b602083106118bf5780518252601f1990920191602091820191016118a0565b51815160209384036101000a6000190180199092169116179052920194855250604051938490030190922054845493900392831091506118fd905057fe5b90600052602060002090600602016001018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156118185780601f106117ed57610100808354040283529160200191611818565b611980336132ec565b15156119d3576040805160e560020a62461bcd028152602060048201526024808201526000805160206143dc833981519152604482015260e160020a6334b7399702606482015290519081900360840190fd5b6119dd82826135c3565b5050565b60055490565b6060816119f3816132b8565b1515611a4b576040805160e560020a62461bcd028152602060048201526028602482015260008051602061437c833981519152604482015260008051602061439c833981519152606482015290519081900360840190fd5b505060408051808201909152600581527f52656164790000000000000000000000000000000000000000000000000000006020820152919050565b606081611a92816132b8565b1515611aea576040805160e560020a62461bcd028152602060048201526028602482015260008051602061437c833981519152604482015260008051602061439c833981519152606482015290519081900360840190fd5b600460016002856040518082805190602001908083835b60208310611b205780518252601f199092019160209182019101611b01565b51815160209384036101000a600019018019909216911617905292019485525060405193849003019092205484549390039283109150611b5e905057fe5b6000918252602091829020600360069092020101805460408051601f60026000196101006001871615020190941693909304928301859004850281018501909152818152928301828280156118185780601f106117ed57610100808354040283529160200191611818565b60045490565b611bd833612450565b1515611c54576040805160e560020a62461bcd02815260206004820152602660248201527f4f6e6c79207065726d69747320696e766f636174696f6e2066726f6d206f706560448201527f7261746f722e0000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b6119dd828261385b565b611c67336132ec565b1515611cba576040805160e560020a62461bcd028152602060048201526024808201526000805160206143dc833981519152604482015260e160020a6334b7399702606482015290519081900360840190fd5b6119dd82826131b7565b606081611cd0816132b8565b1515611d28576040805160e560020a62461bcd028152602060048201526028602482015260008051602061437c833981519152604482015260008051602061439c833981519152606482015290519081900360840190fd5b600460016002856040518082805190602001908083835b60208310611d5e5780518252601f199092019160209182019101611d3f565b51815160209384036101000a600019018019909216911617905292019485525060405193849003019092205484549390039283109150611d9c905057fe5b600091825260209182902060026006909202018101805460408051601f6000196101006001861615020190931694909404918201859004850284018501905280835291929091908301828280156118185780601f106117ed57610100808354040283529160200191611818565b6004546060908210611e65576040805160e560020a62461bcd02815260206004820152601a60248201527f496e76616c6964206974657261746f7220737570706c6965642e000000000000604482015290519081900360640190fd5b6004805483908110611e7357fe5b6000918252602091829020600690910201805460408051601f6002600019610100600187161502019094169390930492830185900485028101850190915281815292830182828015611f065780601f10611edb57610100808354040283529160200191611f06565b820191906000526020600020905b815481529060010190602001808311611ee957829003601f168201915b50505050509050919050565b611f1b336132ec565b1515611f6e576040805160e560020a62461bcd028152602060048201526024808201526000805160206143dc833981519152604482015260e160020a6334b7399702606482015290519081900360840190fd5b60068054600181019091556119dd9083908390613002565b611f8f33612450565b151561200b576040805160e560020a62461bcd02815260206004820152602660248201527f4f6e6c79207065726d69747320696e766f636174696f6e2066726f6d206f706560448201527f7261746f722e0000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b61202985858585856006600081548092919060010191905055612794565b5050505050565b600854606090821061208c576040805160e560020a62461bcd02815260206004820152601a60248201527f496e76616c6964206974657261746f7220737570706c6965642e000000000000604482015290519081900360640190fd5b600880548390811061209a57fe5b6000918252602091829020600390910201805460408051601f6002600019610100600187161502019094169390930492830185900485028101850190915281815292830182828015611f065780601f10611edb57610100808354040283529160200191611f06565b600154600160a060020a031690565b60008161211d816132b8565b1515612175576040805160e560020a62461bcd028152602060048201526028602482015260008051602061437c833981519152604482015260008051602061439c833981519152606482015290519081900360840190fd5b600460016002856040518082805190602001908083835b602083106121ab5780518252601f19909201916020918201910161218c565b51815160209384036101000a6000190180199092169116179052920194855250604051938490030190922054845493900392831091506121e9905057fe5b6000918252602090912060069091020160040154600160a060020a03169392505050565b612216336132ec565b8061222657506122263382613add565b80612235575061223533612450565b15156122c5576040805160e560020a62461bcd02815260206004820152604b60248201526000805160206143dc83398151915260448201527f696e732c20746865206d656d626572207468656d73656c766573206f7220746860648201527f65206f70657261746f722e000000000000000000000000000000000000000000608482015290519081900360a40190fd5b61169181613b8d565b816122d93382613add565b1515612355576040805160e560020a62461bcd02815260206004820152603660248201527f4f6e6c79207065726d69747320696e766f636174696f6e2066726f6d2074686560448201527f206d656d6265722773206f776e206163636f756e742e00000000000000000000606482015290519081900360840190fd5b8261235f816132b8565b15156123b7576040805160e560020a62461bcd028152602060048201526028602482015260008051602061437c833981519152604482015260008051602061439c833981519152606482015290519081900360840190fd5b82600460016002876040518082805190602001908083835b602083106123ee5780518252601f1990920191602091820191016123cf565b51815160209384036101000a60001901801990921691161790529201948552506040519384900301909220548454939003928310915061242c905057fe5b90600052602060002090600602016001019080519060200190612029929190614102565b60008060009054906101000a9004600160a060020a0316600160a060020a031663570ca7356040518163ffffffff1660e060020a028152600401602060405180830381600087803b1580156124a457600080fd5b505af11580156124b8573d6000803e3d6000fd5b505050506040513d60208110156124ce57600080fd5b5051600160a060020a038381169116149050919050565b600080826124f281612f95565b151561254a576040805160e560020a62461bcd02815260206004820152603e60248201526000805160206143bc833981519152604482015260008051602061435c833981519152606482015290519081900360840190fd5b60016007856040518082805190602001908083835b6020831061257e5780518252601f19909201916020918201910161255f565b6001836020036101000a03801982511681845116808217855250505050505090500191505090815260200160405180910390205403925060086001600880549050038154811015156125cc57fe5b90600052602060002090600302019150816008848154811015156125ec57fe5b906000526020600020906003020160008201816000019080546001816001161561010002031660029004612621929190614180565b5060018201816001019080546001816001161561010002031660029004612649929190614180565b50600282015481600201559050508260010160078360000160405180828054600181600116156101000203166002900480156126bc5780601f1061269a5761010080835404028352918201916126bc565b820191906000526020600020905b8154815290600101906020018083116126a8575b50509150509081526020016040518091039020819055506007846040518082805190602001908083835b602083106127055780518252601f1990920191602091820191016126e6565b51815160001960209485036101000a810191821691199290921617909152939091019586526040519586900301909420600090556008805490945090810192508210905061274f57fe5b6000918252602082206003909102019061276982826141f5565b6127776001830160006141f5565b506000600291909101556008805490612029906000198301614239565b61279d866132b8565b15612818576040805160e560020a62461bcd02815260206004820152602760248201527f41206d656d62657220776974682073756368206e616d6520616c72656164792060448201527f6578697374732e00000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b612821826140ba565b1561289c576040805160e560020a62461bcd02815260206004820152602a60248201527f41206d656d62657220776974682073756368206164647265737320616c72656160448201527f6479206578697374732e00000000000000000000000000000000000000000000606482015290519081900360840190fd5b600160a060020a0382161515612922576040805160e560020a62461bcd02815260206004820152602860248201527f41737369676e696e672061207a65726f2061646472657373206973206e6f742060448201527f616c6c6f7765642e000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b6040805160c081018252878152602080820188905291810186905260608101859052600160a060020a038416608082015260a08101839052600480546001810180835560009290925282518051929460069092027f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b01926129a69284920190614102565b5060208281015180516129bf9260018501920190614102565b50604082015180516129db916002840191602090910190614102565b50606082015180516129f7916003840191602090910190614102565b5060808201518160040160006101000a815481600160a060020a030219169083600160a060020a0316021790555060a082015181600501555050506004805490506002876040518082805190602001908083835b60208310612a6a5780518252601f199092019160209182019101612a4b565b51815160209384036101000a600019018019909216911617905292019485525060408051948590038201909420949094555050600454600160a060020a03851660009081526003909352912055612ac083613170565b15612acf576005805460010190555b7f6907ef36b4ec2ac0dbcf68e4e88d58e46d33a9befbd092de26182eeb8a043104866040518080602001828103825283818151815260200191508051906020019080838360005b83811015612b2e578181015183820152602001612b16565b50505050905090810190601f168015612b5b5780820380516001836020036101000a031916815260200191505b509250505060405180910390a1505050505050565b60008054604080517f35817773000000000000000000000000000000000000000000000000000000008152602060048201819052602360248301527f436f6e736f727469756d4d616e6167656d656e74436f6e74726163745665727360448301527f696f6e0000000000000000000000000000000000000000000000000000000000606483015291518493849384938493600160a060020a039093169263358177739260848084019391929182900301818787803b158015612c3157600080fd5b505af1158015612c45573d6000803e3d6000fd5b505050506040513d6020811015612c5b57600080fd5b50519150600160a060020a0382161515612c7e5760009450849350839250612e01565b81905080600160a060020a031663f50bf2086040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015612cbf57600080fd5b505af1158015612cd3573d6000803e3d6000fd5b505050506040513d6020811015612ce957600080fd5b5051604080517f75494fc70000000000000000000000000000000000000000000000000000000081529051600160a060020a038416916375494fc79160048083019260209291908290030181600087803b158015612d4657600080fd5b505af1158015612d5a573d6000803e3d6000fd5b505050506040513d6020811015612d7057600080fd5b5051604080517f21057a1d0000000000000000000000000000000000000000000000000000000081529051600160a060020a038516916321057a1d9160048083019260209291908290030181600087803b158015612dcd57600080fd5b505af1158015612de1573d6000803e3d6000fd5b505050506040513d6020811015612df757600080fd5b5051919650945092505b5050909192565b6000816040516020018082805190602001908083835b60208310612e3d5780518252601f199092019160209182019101612e1e565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040516020818303038152906040526040518082805190602001908083835b60208310612ea05780518252601f199092019160209182019101612e81565b51815160209384036101000a60001901801990921691161790526040519190930181900381208851909550889450908301928392508401908083835b60208310612efb5780518252601f199092019160209182019101612edc565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040516020818303038152906040526040518082805190602001908083835b60208310612f5e5780518252601f199092019160209182019101612f3f565b5181516020939093036101000a60001901801990911692169190911790526040519201829003909120939093149695505050505050565b6000806007836040518082805190602001908083835b60208310612fca5780518252601f199092019160209182019101612fab565b51815160209384036101000a600019018019909216911617905292019485525060405193849003019092205492909211949350505050565b61300b83612f95565b15613074576040805160e560020a62461bcd02815260206004820152603d60248201526000805160206143bc83398151915260448201527f62736372697074696f6e20696420616c7265616479206578697374732e000000606482015290519081900360840190fd5b604080516060810182528481526020808201859052918101839052600880546001810180835560009290925282518051929460039092027ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee301926130db9284920190614102565b5060208281015180516130f49260018501920190614102565b50604082015181600201555050506008805490506007846040518082805190602001908083835b6020831061313a5780518252601f19909201916020918201910161311b565b51815160209384036101000a60001901801990921691161790529201948552506040519384900301909220929092555050505050565b60006131b1826040805190810160405280600581526020017f41444d494e000000000000000000000000000000000000000000000000000000815250612e08565b92915050565b816131c181612f95565b1515613219576040805160e560020a62461bcd02815260206004820152603e60248201526000805160206143bc833981519152604482015260008051602061435c833981519152606482015290519081900360840190fd5b81600860016007866040518082805190602001908083835b602083106132505780518252601f199092019160209182019101613231565b51815160209384036101000a60001901801990921691161790529201948552506040519384900301909220548454939003928310915061328e905057fe5b906000526020600020906003020160010190805190602001906132b2929190614102565b50505050565b60008060028360405180828051906020019080838360208310612fca5780518252601f199092019160209182019101612fab565b60006132f7826140ba565b80156131b15750600160a060020a038216600090815260036020526040902054600480546131b1926000190190811061332c57fe5b600091825260209182902060408051600693909302909101805460026001821615610100026000190190911604601f8101859004909402830160e090810190925260c08301848152929390928492909184918401828280156133cf5780601f106133a4576101008083540402835291602001916133cf565b820191906000526020600020905b8154815290600101906020018083116133b257829003601f168201915b50505050508152602001600182018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156134715780601f1061344657610100808354040283529160200191613471565b820191906000526020600020905b81548152906001019060200180831161345457829003601f168201915b5050509183525050600282810180546040805160206001841615610100026000190190931694909404601f810183900483028501830190915280845293810193908301828280156135035780601f106134d857610100808354040283529160200191613503565b820191906000526020600020905b8154815290600101906020018083116134e657829003601f168201915b505050918352505060038201805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529382019392918301828280156135975780601f1061356c57610100808354040283529160200191613597565b820191906000526020600020905b81548152906001019060200180831161357a57829003601f168201915b50505091835250506004820154600160a060020a031660208201526005909101546040909101526140d6565b6000826135cf816132b8565b1515613627576040805160e560020a62461bcd028152602060048201526028602482015260008051602061437c833981519152604482015260008051602061439c833981519152606482015290519081900360840190fd5b60016002856040518082805190602001908083835b6020831061365b5780518252601f19909201916020918201910161363c565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020540391506137456004838154811015156136a457fe5b6000918252602091829020600360069092020101805460408051601f600260001961010060018716150201909416939093049283018590048502810185019091528181529283018282801561373a5780601f1061370f5761010080835404028352916020019161373a565b820191906000526020600020905b81548152906001019060200180831161371d57829003601f168201915b505050505084612e08565b1561374f576132b2565b61376160048381548110151561332c57fe5b156138005760055460001061377257fe5b600580546000190190556137846140f9565b1515613800576040805160e560020a62461bcd02815260206004820152602a60248201527f436f6e736f727469756d2073686f756c642068617665206174206c656173742060448201527f6f6e652061646d696e2e00000000000000000000000000000000000000000000606482015290519081900360840190fd5b8260048381548110151561381057fe5b90600052602060002090600602016003019080519060200190613834929190614102565b5061384760048381548110151561332c57fe5b156132b25760058054600101905550505050565b60008083613868816132b8565b15156138c0576040805160e560020a62461bcd028152602060048201526028602482015260008051602061437c833981519152604482015260008051602061439c833981519152606482015290519081900360840190fd5b6138c9846140ba565b15613944576040805160e560020a62461bcd02815260206004820152602a60248201527f41206d656d62657220776974682073756368206164647265737320616c72656160448201527f6479206578697374732e00000000000000000000000000000000000000000000606482015290519081900360840190fd5b600160a060020a03841615156139ca576040805160e560020a62461bcd02815260206004820152602860248201527f41737369676e696e672061207a65726f2061646472657373206973206e6f742060448201527f616c6c6f7765642e000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b60016002866040518082805190602001908083835b602083106139fe5780518252601f1990920191602091820191016139df565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902054039250600483815481101515613a4457fe5b600091825260208083206004600690930201820154600160a060020a0316808452600390915260408320929092558054919350859185908110613a8357fe5b60009182526020808320600692909202909101600401805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03948516179055959091168152600390945250506040909120600191909101905550565b6000613ae8826132b8565b8015613b865750600460016002846040518082805190602001908083835b60208310613b255780518252601f199092019160209182019101613b06565b51815160209384036101000a600019018019909216911617905292019485525060405193849003019092205484549390039283109150613b63905057fe5b6000918252602090912060046006909202010154600160a060020a038481169116145b9392505050565b60008060008084613b9d816132b8565b1515613bf5576040805160e560020a62461bcd028152602060048201526028602482015260008051602061437c833981519152604482015260008051602061439c833981519152606482015290519081900360840190fd5b60016002876040518082805190602001908083835b60208310613c295780518252601f199092019160209182019101613c0a565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902054039450600485815481101515613c6f57fe5b600091825260209182902060069190910201600481015460408051835460026101006001831615026000190190911604601f8101869004909502810160e090810190925260c08101858152939850600160a060020a039092169650613cfd939192889284928491908401828280156133cf5780601f106133a4576101008083540402835291602001916133cf565b15613d9c57600554600010613d0e57fe5b60058054600019019055613d206140f9565b1515613d9c576040805160e560020a62461bcd02815260206004820152602a60248201527f436f6e736f727469756d2073686f756c642068617665206174206c656173742060448201527f6f6e652061646d696e2e00000000000000000000000000000000000000000000606482015290519081900360840190fd5b600480546000198101908110613dae57fe5b9060005260206000209060060201915081600486815481101515613dce57fe5b906000526020600020906006020160008201816000019080546001816001161561010002031660029004613e03929190614180565b5060018201816001019080546001816001161561010002031660029004613e2b929190614180565b5060028281018054613e50928481019291600019610100600183161502011604614180565b5060038201816003019080546001816001161561010002031660029004613e78929190614180565b50600482810154908201805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0390921691909117905560059182015491015560405182546001878101926002928692829184918116156101000260001901168590048015613f1b5780601f10613ef9576101008083540402835291820191613f1b565b820191906000526020600020905b815481529060010190602001808311613f07575b50509283525050604080519182900360209081018320939093556004850154600160a060020a0390811660009081526003855282812060018b019055908716815290812055875160029289929182918401908083835b60208310613f905780518252601f199092019160209182019101613f71565b51815160001960209485036101000a8101918216911992909216179091529390910195865260405195869003019094206000905560048054909450908101925082109050613fda57fe5b60009182526020822060069091020190613ff482826141f5565b6140026001830160006141f5565b6140106002830160006141f5565b61401e6003830160006141f5565b506004818101805473ffffffffffffffffffffffffffffffffffffffff19169055600060059092019190915580549061405b90600019830161426a565b507fce76cde84f41d02c564cb9c9416a2bb5deb93e11997544be0f46b97c1789bc498660405180806020018281038252838181518152602001915080519060200190808383600083811015612b2e578181015183820152602001612b16565b600160a060020a03166000908152600360205260408120541190565b60006140e582600001516132b8565b80156131b157506131b18260600151613170565b60055460001090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061414357805160ff1916838001178555614170565b82800160010185558215614170579182015b82811115614170578251825591602001919060010190614155565b5061417c929150614296565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106141b95780548555614170565b8280016001018555821561417057600052602060002091601f016020900482015b828111156141705782548255916001019190600101906141da565b50805460018160011615610100020316600290046000825580601f1061421b5750611691565b601f0160209004906000526020600020908101906116919190614296565b8154818355818111156142655760030281600302836000526020600020918201910161426591906142b0565b505050565b8154818355818111156142655760060281600602836000526020600020918201910161426591906142e8565b61169891905b8082111561417c576000815560010161429c565b61169891905b8082111561417c5760006142ca82826141f5565b6142d86001830160006141f5565b50600060028201556003016142b6565b61169891905b8082111561417c57600061430282826141f5565b6143106001830160006141f5565b61431e6002830160006141f5565b61432c6003830160006141f5565b5060048101805473ffffffffffffffffffffffffffffffffffffffff19169055600060058201556006016142ee560062736372697074696f6e20696420646f6573206e6f74206578697374732e000041206d656d62657220776974682073756368206e616d6520646f6573206e6f74206578697374732e00000000000000000000000000000000000000000000000041206d656d62657220696e7669746174696f6e207769746820737563682073754f6e6c79207065726d69747320696e766f636174696f6e2066726f6d2061646da165627a7a72305820a9a8aab7c19d6fd715f409e0444adb7d005756ff90bbddf642d1e17e52bba2880029",
  "sourceMap": "292:15962:10:-;;;2803:164;8:9:-1;5:2;;;30:1;27;20:12;5:2;2803:164:10;;;;;;;;;;;;;;;;;;;574:12:0;:46;;-1:-1:-1;;;;;574:46:0;;;-1:-1:-1;;;;;;574:46:0;;;;;;;;631:24;;;;;;;;;;;;;;292:15962:10;;;;;;",
  "deployedSourceMap": "292:15962:10:-;;;;;;;;;-1:-1:-1;;;292:15962:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4830:480;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;4830:480:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4830:480:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4830:480:10;;;;-1:-1:-1;4830:480:10;-1:-1:-1;4830:480:10;;-1:-1:-1;4830:480:10;;;;;;;;-1:-1:-1;;4830:480:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4830:480:10;;;;-1:-1:-1;4830:480:10;-1:-1:-1;4830:480:10;;-1:-1:-1;4830:480:10;;;;;;;;-1:-1:-1;4830:480:10;;-1:-1:-1;;;4830:480:10;;-1:-1:-1;;;;;4830:480:10;;-1:-1:-1;4830:480:10;;-1:-1:-1;;;4830:480:10;;;2975:1847;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2975:1847:10;;;;7439:183;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;7439:183:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7439:183:10;;-1:-1:-1;7439:183:10;;-1:-1:-1;;;;;;;7439:183:10;;;;;;;;;;;;;;;;;8794:249;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;8794:249:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8794:249:10;;-1:-1:-1;8794:249:10;;-1:-1:-1;;;;;;;8794:249:10;8237:134;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;8237:134:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8237:134:10;;-1:-1:-1;8237:134:10;;-1:-1:-1;;;;;;;8237:134:10;9051:104;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9051:104:10;;;;8546:240;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;8546:240:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8546:240:10;;-1:-1:-1;8546:240:10;;-1:-1:-1;;;;;;;8546:240:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;8546:240:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6915:188;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;6915:188:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6915:188:10;;-1:-1:-1;6915:188:10;;-1:-1:-1;;;;;;;6915:188:10;6392:131;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;6392:131:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6392:131:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6392:131:10;;;;-1:-1:-1;6392:131:10;-1:-1:-1;6392:131:10;;-1:-1:-1;6392:131:10;;;;;;;;-1:-1:-1;6392:131:10;;-1:-1:-1;6392:131:10;;-1:-1:-1;;;;;;;6392:131:10;7630:88;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7630:88:10;;;;7293:138;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;7293:138:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7293:138:10;;-1:-1:-1;7293:138:10;;-1:-1:-1;;;;;;;7293:138:10;7111:174;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;7111:174:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7111:174:10;;-1:-1:-1;7111:174:10;;-1:-1:-1;;;;;;;7111:174:10;7726:96;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7726:96:10;;;;6023:140;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;6023:140:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6023:140:10;;-1:-1:-1;;;6023:140:10;;-1:-1:-1;;;;;6023:140:10;;-1:-1:-1;6023:140:10;;-1:-1:-1;;;6023:140:10;8379:159;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;8379:159:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8379:159:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8379:159:10;;;;-1:-1:-1;8379:159:10;-1:-1:-1;8379:159:10;;-1:-1:-1;8379:159:10;;;;;;;;-1:-1:-1;8379:159:10;;-1:-1:-1;8379:159:10;;-1:-1:-1;;;;;;;8379:159:10;6531:194;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;6531:194:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6531:194:10;;-1:-1:-1;6531:194:10;;-1:-1:-1;;;;;;;6531:194:10;7830:210;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;7830:210:10;;;;;8050:179;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;8050:179:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8050:179:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8050:179:10;;;;-1:-1:-1;8050:179:10;-1:-1:-1;8050:179:10;;-1:-1:-1;8050:179:10;;;;;;;;-1:-1:-1;8050:179:10;;-1:-1:-1;8050:179:10;;-1:-1:-1;;;;;;;8050:179:10;5318:337;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;5318:337:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5318:337:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5318:337:10;;;;-1:-1:-1;5318:337:10;-1:-1:-1;5318:337:10;;-1:-1:-1;5318:337:10;;;;;;;;-1:-1:-1;;5318:337:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5318:337:10;;;;-1:-1:-1;5318:337:10;-1:-1:-1;5318:337:10;;-1:-1:-1;5318:337:10;;;;;;;;-1:-1:-1;;5318:337:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5318:337:10;;;;-1:-1:-1;5318:337:10;-1:-1:-1;5318:337:10;;-1:-1:-1;5318:337:10;;;;;;;;-1:-1:-1;5318:337:10;;-1:-1:-1;;;5318:337:10;;-1:-1:-1;;;;;5318:337:10;;-1:-1:-1;5318:337:10;;-1:-1:-1;;;5318:337:10;9163:242;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;9163:242:10;;;;;671:99:0;;8:9:-1;5:2;;;30:1;27;20:12;5:2;671:99:0;;;;;;;;-1:-1:-1;;;;;671:99:0;;;;;;;;;;;;;;6733:174:10;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;6733:174:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6733:174:10;;-1:-1:-1;6733:174:10;;-1:-1:-1;;;;;;;6733:174:10;5663:352;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;5663:352:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5663:352:10;;-1:-1:-1;5663:352:10;;-1:-1:-1;;;;;;;5663:352:10;6171:213;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;6171:213:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6171:213:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6171:213:10;;;;-1:-1:-1;6171:213:10;-1:-1:-1;6171:213:10;;-1:-1:-1;6171:213:10;;;;;;;;-1:-1:-1;6171:213:10;;-1:-1:-1;6171:213:10;;-1:-1:-1;;;;;;;6171:213:10;4830:480;5037:18;5103;1975:29;1993:10;1975:17;:29::i;:::-;1967:80;;;;;;;-1:-1:-1;;;;;1967:80:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5058:34;5076:15;5058:17;:34::i;:::-;5037:55;;5124:43;5151:15;5124:26;:43::i;:::-;5103:64;;5178:34;5196:15;5178:17;:34::i;:::-;5223:79;5234:5;5241:12;5255:15;5272:4;5278:8;5288:13;5223:10;:79::i;:::-;4830:480;;;;;;:::o;2975:1847::-;3112:6;351:12:0;;3129:18:10;;;;;;;;3112:6;;;;;;;;;;;;-1:-1:-1;;;;;351:12:0;329:10;:35;307:122;;;;;-1:-1:-1;;;;;307:122:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3041:10:10;;-1:-1:-1;;;;;3041:10:10;:24;3037:63;;;3082:7;;3037:63;3353:18;:16;:18::i;:::-;-1:-1:-1;3334:37:10;;-1:-1:-1;3334:37:10;-1:-1:-1;3390:10:10;;:24;;;;-1:-1:-1;3404:10:10;;3390:24;3382:92;;;;;;;-1:-1:-1;;;;;3382:92:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3558:10;;;;;;;;;-1:-1:-1;;;;;3558:10:10;3487:82;;3591:24;-1:-1:-1;;;;;3591:47:10;;:49;;;;;-1:-1:-1;;;3591:49:10;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3591:49:10;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3591:49:10;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3591:49:10;;-1:-1:-1;3582:1233:10;3646:24;-1:-1:-1;;;;;3646:45:10;;:47;;;;;-1:-1:-1;;;3646:47:10;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3646:47:10;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3646:47:10;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3646:47:10;3642:51;;3582:1233;;;3722:24;-1:-1:-1;;;;;3722:54:10;;3777:1;3722:57;;;;;-1:-1:-1;;;3722:57:10;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3722:57:10;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3722:57:10;;;;;;39:16:-1;36:1;17:17;2:54;101:4;3722:57:10;80:15:-1;;;-1:-1;;76:31;65:43;;120:4;113:20;13:2;5:11;;2:2;;;29:1;26;19:12;2:2;3722:57:10;;;;;;20:11:-1;15:3;12:20;9:2;;;45:1;42;35:12;9:2;64:21;;126:4;117:14;;142:31;;;139:2;;;186:1;183;176:12;139:2;218:10;;268:11;251:29;;293:43;;;290:58;-1:-1;239:118;236:2;;;370:1;367;360:12;236:2;0:382;;3722:57:10;;;;;;3715:64;;3811:24;-1:-1:-1;;;;;3811:48:10;;3860:4;3811:54;;;;;-1:-1:-1;;;3811:54:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;3811:54:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3811:54:10;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3811:54:10;;;;;;39:16:-1;36:1;17:17;2:54;101:4;3811:54:10;80:15:-1;;;-1:-1;;76:31;65:43;;120:4;113:20;13:2;5:11;;2:2;;;29:1;26;19:12;2:2;3811:54:10;;;;;;20:11:-1;15:3;12:20;9:2;;;45:1;42;35:12;9:2;64:21;;126:4;117:14;;142:31;;;139:2;;;186:1;183;176:12;139:2;218:10;;268:11;251:29;;293:43;;;290:58;-1:-1;239:118;236:2;;;370:1;367;360:12;236:2;0:382;;3811:54:10;;;;;;3794:71;;3887:24;-1:-1:-1;;;;;3887:38:10;;3926:4;3887:44;;;;;-1:-1:-1;;;3887:44:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;3887:44:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3887:44:10;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3887:44:10;;;;;;39:16:-1;36:1;17:17;2:54;101:4;3887:44:10;80:15:-1;;;-1:-1;;76:31;65:43;;120:4;113:20;13:2;5:11;;2:2;;;29:1;26;19:12;2:2;3887:44:10;;;;;;20:11:-1;15:3;12:20;9:2;;;45:1;42;35:12;9:2;64:21;;126:4;117:14;;142:31;;;139:2;;;186:1;183;176:12;139:2;218:10;;268:11;251:29;;293:43;;;290:58;-1:-1;239:118;236:2;;;370:1;367;360:12;236:2;0:382;;3887:44:10;;;;;;3880:51;;3955:24;-1:-1:-1;;;;;3955:40:10;;3996:4;3955:46;;;;;-1:-1:-1;;;3955:46:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;3955:46:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3955:46:10;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3955:46:10;;;;;;39:16:-1;36:1;17:17;2:54;101:4;3955:46:10;80:15:-1;;;-1:-1;;76:31;65:43;;120:4;113:20;13:2;5:11;;2:2;;;29:1;26;19:12;2:2;3955:46:10;;;;;;20:11:-1;15:3;12:20;9:2;;;45:1;42;35:12;9:2;64:21;;126:4;117:14;;142:31;;;139:2;;;186:1;183;176:12;139:2;218:10;;268:11;251:29;;293:43;;;290:58;-1:-1;239:118;236:2;;;370:1;367;360:12;236:2;0:382;;3955:46:10;;;;;;3946:55;;4033:24;-1:-1:-1;;;;;4033:41:10;;4075:4;4033:47;;;;;-1:-1:-1;;;4033:47:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;4033:47:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4033:47:10;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4033:47:10;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4033:47:10;4115:31;;;;;;;;;;;;;4033:47;4115:31;;;4033:47;;-1:-1:-1;4115:31:10;;4131:6;;4115:15;:31::i;:::-;4095:51;;4183:32;4199:6;4183:32;;;;;;;;;;;;;;;;;;:15;:32::i;:::-;4161:54;;4236:12;4232:572;;;4269:8;;4232:572;4316:14;:37;;;;-1:-1:-1;;;;;;4334:19:10;;;;4316:37;4312:492;;;4374:84;4385:4;4391;4397:14;4413:4;4419:14;4435:20;;:22;;;;;;;;;;;;4374:10;:84::i;:::-;4312:492;;;4517:32;4534:14;4517:16;:32::i;:::-;4516:33;4512:277;;;4611:20;:22;;;;;;;;4574:60;;4589:14;;4605:4;;4574:14;:60::i;4512:277::-;4681:17;4693:4;4681:11;:17::i;:::-;4677:112;;;4723:46;4742:14;4758:10;;;;;;;;;;;;;;;;;;4723:18;:46::i;:::-;3695:3;;;;;3582:1233;;;2975:1847;;;;;;;;;;;:::o;7439:183::-;7536:4;7520:5;2473:28;2490:10;2473:16;:28::i;:::-;2465:81;;;;;;;-1:-1:-1;;;;;2465:81:10;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2465:81:10;;;;-1:-1:-1;;;;;;;;;;;2465:81:10;;;;;;;;;;;;;;;7560:10;7598:1;7571:17;7589:5;7571:24;;;;;;;;;;;;;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;7571:24:10;;;;;-1:-1:-1;7571:24:10;;;;;;;;;;;7560:40;;7571:28;;;;7560:40;;;-1:-1:-1;7560:40:10;;-1:-1:-1;7560:40:10;;;;;;;;;;;;;:54;;;7553:61;;7439:183;;;;:::o;8794:249::-;8929:4;8903:15;2666:42;2683:24;2666:16;:42::i;:::-;2658:117;;;;;;;-1:-1:-1;;;;;2658:117:10;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2658:117:10;;;;-1:-1:-1;;;;;;;;;;;2658:117:10;;;;;;;;;;;;;;;8953:14;9019:1;8968:31;9000:15;8968:48;;;;;;;;;;;;;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;8968:48:10;;;;;-1:-1:-1;8968:48:10;;;;;;;;;;;8953:68;;8968:52;;;;8953:68;;;-1:-1:-1;8953:68:10;;-1:-1:-1;8953:68:10;;;;;;;;;;;;;:82;;;8946:89;;8794:249;;;;:::o;8237:134::-;2115:26;2130:10;2115:14;:26::i;:::-;2107:75;;;;;;;-1:-1:-1;;;;;2107:75:10;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2107:75:10;;;;-1:-1:-1;;;;;2107:75:10;;;;;;;;;;;;;;;8329:34;8347:15;8329:17;:34::i;:::-;8237:134;:::o;9051:104::-;9126:14;:21;9051:104;;:::o;8546:240::-;8672:6;8646:15;2666:42;2683:24;2666:16;:42::i;:::-;2658:117;;;;;;;-1:-1:-1;;;;;2658:117:10;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2658:117:10;;;;-1:-1:-1;;;;;;;;;;;2658:117:10;;;;;;;;;;;;;;;8705:14;8771:1;8720:31;8752:15;8720:48;;;;;;;;;;;;;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;8720:48:10;;;;;-1:-1:-1;8720:48:10;;;;;;;;;;;8705:68;;8720:52;;;;8705:68;;;-1:-1:-1;8705:68:10;;-1:-1:-1;8705:68:10;;;;;;;;;;;;;:73;;8698:80;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8546:240;;;;:::o;6915:188::-;7010:6;6994:5;2473:28;2490:10;2473:16;:28::i;:::-;2465:81;;;;;;;-1:-1:-1;;;;;2465:81:10;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2465:81:10;;;;-1:-1:-1;;;;;;;;;;;2465:81:10;;;;;;;;;;;;;;;7043:10;7081:1;7054:17;7072:5;7054:24;;;;;;;;;;;;;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;7054:24:10;;;;;-1:-1:-1;7054:24:10;;;;;;;;;;;7043:40;;7054:28;;;;7043:40;;;-1:-1:-1;7043:40:10;;-1:-1:-1;7043:40:10;;;;;;;;;;;;;:52;;7036:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6392:131;2115:26;2130:10;2115:14;:26::i;:::-;2107:75;;;;;;;-1:-1:-1;;;;;2107:75:10;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2107:75:10;;;;-1:-1:-1;;;;;2107:75:10;;;;;;;;;;;;;;;6487:28;6502:5;6509;6487:14;:28::i;:::-;6392:131;;:::o;7630:88::-;7700:10;;7630:88;:::o;7293:138::-;7383:6;7367:5;2473:28;2490:10;2473:16;:28::i;:::-;2465:81;;;;;;;-1:-1:-1;;;;;2465:81:10;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2465:81:10;;;;-1:-1:-1;;;;;;;;;;;2465:81:10;;;;;;;;;;;;;;;-1:-1:-1;;7409:14:10;;;;;;;;;;;;;;;;;;7293:138;-1:-1:-1;7293:138:10:o;7111:174::-;7199:6;7183:5;2473:28;2490:10;2473:16;:28::i;:::-;2465:81;;;;;;;-1:-1:-1;;;;;2465:81:10;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2465:81:10;;;;-1:-1:-1;;;;;;;;;;;2465:81:10;;;;;;;;;;;;;;;7232:10;7270:1;7243:17;7261:5;7243:24;;;;;;;;;;;;;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;7243:24:10;;;;;-1:-1:-1;7243:24:10;;;;;;;;;;;7232:40;;7243:28;;;;7232:40;;;-1:-1:-1;7232:40:10;;-1:-1:-1;7232:40:10;;;;;;;;;;;;:45;:40;;;;;:45;7225:52;;;;;;;-1:-1:-1;;7225:52:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7232:45;7225:52;;;;;;;;;;;;;;;;;;;;;;;;7726:96;7797:10;:17;7726:96;:::o;6023:140::-;1975:29;1993:10;1975:17;:29::i;:::-;1967:80;;;;;;;-1:-1:-1;;;;;1967:80:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6121:34;6139:5;6146:8;6121:17;:34::i;8379:159::-;2115:26;2130:10;2115:14;:26::i;:::-;2107:75;;;;;;;-1:-1:-1;;;;;2107:75:10;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2107:75:10;;;;-1:-1:-1;;;;;2107:75:10;;;;;;;;;;;;;;;8488:42;8507:15;8524:5;8488:18;:42::i;6531:194::-;6629:6;6613:5;2473:28;2490:10;2473:16;:28::i;:::-;2465:81;;;;;;;-1:-1:-1;;;;;2465:81:10;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2465:81:10;;;;-1:-1:-1;;;;;;;;;;;2465:81:10;;;;;;;;;;;;;;;6662:10;6700:1;6673:17;6691:5;6673:24;;;;;;;;;;;;;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;6673:24:10;;;;;-1:-1:-1;6673:24:10;;;;;;;;;;;6662:40;;6673:28;;;;6662:40;;;-1:-1:-1;6662:40:10;;-1:-1:-1;6662:40:10;;;;;;;;;;;;:55;:40;;;;;:55;;6655:62;;;;;;-1:-1:-1;;6655:62:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6662:55;;6655:62;;;6662:55;6655:62;;;;;;;;;;;;;;;;;;;;;;;;7830:210;7941:10;:17;7896:6;;7930:28;;7922:67;;;;;-1:-1:-1;;;;;7922:67:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;8007:10;:20;;8018:8;;8007:20;;;;;;;;;;;;;;;;;;;;8000:32;;;;;;;-1:-1:-1;;8000:32:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8007:20;8000:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7830:210;;;:::o;8050:179::-;2115:26;2130:10;2115:14;:26::i;:::-;2107:75;;;;;;;-1:-1:-1;;;;;2107:75:10;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2107:75:10;;;;-1:-1:-1;;;;;2107:75:10;;;;;;;;;;;;;;;8198:20;:22;;;;;;;;8159:62;;8174:15;;8191:5;;8159:14;:62::i;5318:337::-;1975:29;1993:10;1975:17;:29::i;:::-;1967:80;;;;;;;-1:-1:-1;;;;;1967:80:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5558:89;5569:5;5576:12;5590:15;5607:5;5614:8;5624:20;;:22;;;;;;;;;;;;5558:10;:89::i;:::-;5318:337;;;;;:::o;9163:242::-;9288:14;:21;9243:6;;9277:32;;9269:71;;;;;-1:-1:-1;;;;;9269:71:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;9358:14;:24;;9373:8;;9358:24;;;;;;;;;;;;;;;;;;;;9351:46;;;;;;;-1:-1:-1;;9351:46:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9358:24;9351:46;;;;;;;;;;;;;;;;;;;;;;;;671:99:0;752:10;;-1:-1:-1;;;;;752:10:0;671:99;:::o;6733:174:10:-;6824:7;6808:5;2473:28;2490:10;2473:16;:28::i;:::-;2465:81;;;;;;;-1:-1:-1;;;;;2465:81:10;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2465:81:10;;;;-1:-1:-1;;;;;;;;;;;2465:81:10;;;;;;;;;;;;;;;6851:10;6889:1;6862:17;6880:5;6862:24;;;;;;;;;;;;;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;6862:24:10;;;;;-1:-1:-1;6862:24:10;;;;;;;;;;;6851:40;;6862:28;;;;6851:40;;;-1:-1:-1;6851:40:10;;-1:-1:-1;6851:40:10;;;;;;;;;;;;;;;;:48;;;-1:-1:-1;;;;;6851:48:10;;6733:174;-1:-1:-1;;;6733:174:10:o;5663:352::-;5746:26;5761:10;5746:14;:26::i;:::-;:80;;;;5790:36;5808:10;5820:5;5790:17;:36::i;:::-;5746:127;;;;5844:29;5862:10;5844:17;:29::i;:::-;5724:252;;;;;;;-1:-1:-1;;;;;5724:252:10;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;5724:252:10;;;;;;;;;;;;;;;;;;;;;;;;;5987:20;6001:5;5987:13;:20::i;6171:213::-;6268:5;2275:41;2293:10;2305;2275:17;:41::i;:::-;2267:108;;;;;;;-1:-1:-1;;;;;2267:108:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6291:5;2473:28;2490:10;2473:16;:28::i;:::-;2465:81;;;;;;;-1:-1:-1;;;;;2465:81:10;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2465:81:10;;;;-1:-1:-1;;;;;;;;;;;2465:81:10;;;;;;;;;;;;;;;6364:12;6309:10;6347:1;6320:17;6338:5;6320:24;;;;;;;;;;;;;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;6320:24:10;;;;;-1:-1:-1;6320:24:10;;;;;;;;;;;6309:40;;6320:28;;;;6309:40;;;-1:-1:-1;6309:40:10;;-1:-1:-1;6309:40:10;;;;;;;;;;;;;:52;;:67;;;;;;;;;;;;:::i;15245:134::-;15312:4;15348:12;;;;;;;;;-1:-1:-1;;;;;15348:12:10;-1:-1:-1;;;;;15348:21:10;;:23;;;;;-1:-1:-1;;;15348:23:10;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15348:23:10;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15348:23:10;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;15348:23:10;-1:-1:-1;;;;;15336:35:10;;;;;;;-1:-1:-1;15245:134:10;;;:::o;14036:651::-;14155:28;14259:41;14122:15;2666:42;2683:24;2666:16;:42::i;:::-;2658:117;;;;;;;-1:-1:-1;;;;;2658:117:10;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2658:117:10;;;;-1:-1:-1;;;;;;;;;;;2658:117:10;;;;;;;;;;;;;;;14237:1;14186:31;14218:15;14186:48;;;;;;;;;;;;;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;14186:48:10;;;;;;;;;;;;;;;;;;;;;;:52;14155:83;;14303:14;14342:1;14318:14;:21;;;;:25;14303:41;;;;;;;;;;;;;;;;;;;;14259:85;;14397:16;14355:14;14370:23;14355:39;;;;;;;;;;;;;;;;;;;;:58;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;14491:23;14517:1;14491:27;14424:31;14456:16;:31;;14424:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:94;;;;14538:31;14570:15;14538:48;;;;;;;;;;;;;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;-1:-1;;263:2;259:12;;;254:3;250:22;246:30;;340:21;;;311:9;;295:26;;;;377:20;365:33;;;14538:48:10;;;;;;;;;;;;;;;;;-1:-1:-1;14531:55:10;;14604:14;14619:21;;14604:14;;-1:-1:-1;14619:25:10;;;;-1:-1:-1;14604:41:10;;;-1:-1:-1;14604:41:10;;;;;;;;;;;;;;;;;14597:48;14604:41;;14597:48;:::i;:::-;;;;;;;:::i;:::-;-1:-1:-1;14597:48:10;;;;;;;14656:14;:23;;;;;-1:-1:-1;;14656:23:10;;;:::i;9415:949::-;9678:23;9695:5;9678:16;:23::i;:::-;9677:24;9669:76;;;;;-1:-1:-1;;;;;9669:76:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9765:29;9785:8;9765:19;:29::i;:::-;9764:30;9756:85;;;;;-1:-1:-1;;;;;9756:85:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9860:22:10;;;;9852:75;;;;;-1:-1:-1;;;;;9852:75:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9956:166;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9956:166:10;;;;;;;;;;;;9940:10;27::-1;;39:1;23:18;;45:23;;;-1:-1;9940:183:10;;;;;;;;23:18:-1;;9940:183:10;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;9940:183:10;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;9940:183:10;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;9940:183:10;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;-1:-1:-1;;;;;9940:183:10;;;;;-1:-1:-1;;;;;9940:183:10;;;;;;;;;;;;;;;;;10161:10;:17;;;;10134;10152:5;10134:24;;;;;;;;;;;;;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;10134:24:10;;;;;-1:-1:-1;10134:24:10;;;;;;;;;;;;:44;;;;-1:-1:-1;;10222:10:10;:17;-1:-1:-1;;;;;10189:30:10;;-1:-1:-1;10189:30:10;;;:20;:30;;;;;:50;10256:18;10268:5;10256:11;:18::i;:::-;10252:63;;;10291:10;:12;;;;;;10252:63;10332:24;10350:5;10332:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;10332:24:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9415:949;;;;;;:::o;15387:525::-;15437:10;15517:12;;:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15437:10;;;;;;;;-1:-1:-1;;;;;15517:12:10;;;;:24;;:63;;;;;;;;;;;;;15437:10;15517:12;:63;;;5:2:-1;;;;30:1;27;20:12;5:2;15517:63:10;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15517:63:10;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;15517:63:10;;-1:-1:-1;;;;;;15595:36:10;;;15591:314;;;15656:1;;-1:-1:-1;15656:1:10;;-1:-1:-1;15656:1:10;;-1:-1:-1;15648:16:10;;15591:314;15788:22;15706:105;;15834:7;-1:-1:-1;;;;;15834:16:10;;:18;;;;;-1:-1:-1;;;15834:18:10;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15834:18:10;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15834:18:10;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;15834:18:10;15854;;;;;;;;-1:-1:-1;;;;;15854:16:10;;;;;:18;;;;;15834;;15854;;;;;;;;:16;:18;;;5:2:-1;;;;30:1;27;20:12;5:2;15854:18:10;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15854:18:10;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;15854:18:10;15874;;;;;;;;-1:-1:-1;;;;;15874:16:10;;;;;:18;;;;;15854;;15874;;;;;;;;:16;:18;;;5:2:-1;;;;30:1;27;20:12;5:2;15874:18:10;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15874:18:10;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;15874:18:10;15826:67;;-1:-1:-1;15826:67:10;-1:-1:-1;15874:18:10;-1:-1:-1;15591:314:10;15387:525;;;;;:::o;16058:193::-;16147:4;16236:5;16219:23;;;;;;;;;;;;;;;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;16219:23:10;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;16219:23:10;;;16209:34;;;;;;;;;;;;;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;16209:34:10;;;;;;;;;;;16181:23;;16209:34;;-1:-1:-1;16181:23:10;;-1:-1:-1;16181:23:10;;;;;;-1:-1:-1;16181:23:10;;;;;;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;16181:23:10;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;16181:23:10;;;16171:34;;;;;;;;;;;;;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;;;;365:33;;16171:34:10;;;;;;;;;;:72;;;;;;-1:-1:-1;;;;;;16058:193:10:o;14928:163::-;15007:4;15082:1;15031:31;15063:15;15031:48;;;;;;;;;;;;;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;15031:48:10;;;;;-1:-1:-1;15031:48:10;;;;;;;;;;;:52;;;;;14928:163;-1:-1:-1;;;;14928:163:10:o;13618:410::-;13748:33;13765:15;13748:16;:33::i;:::-;13747:34;13739:108;;;;;-1:-1:-1;;;;;13739:108:10;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;13739:108:10;;;;;;;;;;;;;;;;;;;;13880:56;;;;;;;;;;;;;;;;;;;;;;;;13860:14;27:10:-1;;39:1;23:18;;45:23;;;-1:-1;13860:77:10;;;;;;;;23:18:-1;;13860:77:10;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;13860:77:10;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;13999:14;:21;;;;13948:31;13980:15;13948:48;;;;;;;;;;;;;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;13948:48:10;;;;;-1:-1:-1;13948:48:10;;;;;;;;;;:72;;;;-1:-1:-1;;;;;13618:410:10:o;15920:130::-;15984:4;16008:34;16024:5;16031:10;;;;;;;;;;;;;;;;;;16008:15;:34::i;:::-;16001:41;15920:130;-1:-1:-1;;15920:130:10:o;14695:225::-;14803:15;2666:42;2683:24;2666:16;:42::i;:::-;2658:117;;;;;;;-1:-1:-1;;;;;2658:117:10;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2658:117:10;;;;-1:-1:-1;;;;;;;;;;;2658:117:10;;;;;;;;;;;;;;;14907:5;14831:14;14897:1;14846:31;14878:15;14846:48;;;;;;;;;;;;;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;14846:48:10;;;;;-1:-1:-1;14846:48:10;;;;;;;;;;;14831:68;;14846:52;;;;14831:68;;;-1:-1:-1;14831:68:10;;-1:-1:-1;14831:68:10;;;;;;;;;;;;;:73;;:81;;;;;;;;;;;;:::i;:::-;;14695:225;;;:::o;12775:129::-;12844:4;12895:1;12868:17;12886:5;12868:24;;;;;;;;;;;;;66:2:-1;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;13209:184:10;13273:4;13297:29;13317:8;13297:19;:29::i;:::-;:88;;;;-1:-1:-1;;;;;;13349:30:10;;;;;;:20;:30;;;;;;13338:10;:46;;13330:55;;-1:-1:-1;;13349:34:10;;13338:46;;;;;;;;;;;;;;;13330:55;;;13338:46;;;;;;;;13330:55;;;;;;;;;-1:-1:-1;;13330:55:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13338:46;;13330:55;;;;13338:46;;13330:55;;13338:46;13330:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;13330:55:10;;;-1:-1:-1;;13330:55:10;;;;;;;;;;;;;;;;-1:-1:-1;;13330:55:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;13330:55:10;;;-1:-1:-1;;13330:55:10;;;;;;;;;;;;;;;;-1:-1:-1;;13330:55:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;13330:55:10;;;-1:-1:-1;;13330:55:10;;;;-1:-1:-1;;;;;13330:55:10;;;;;;;;;;;;;;;:7;:55::i;12017:651::-;12125:24;12107:5;2473:28;2490:10;2473:16;:28::i;:::-;2465:81;;;;;;;-1:-1:-1;;;;;2465:81:10;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2465:81:10;;;;-1:-1:-1;;;;;;;;;;;2465:81:10;;;;;;;;;;;;;;;12179:1;12152:17;12170:5;12152:24;;;;;;;;;;;;;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;12152:24:10;;;;;;;;;;;;;;;;;;;;;;:28;12125:55;;12195:60;12211:10;12222:19;12211:31;;;;;;;;;;;;;;;;;;;:36;:31;;;;;:36;12195:60;;;;;;;-1:-1:-1;;12195:60:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12211:36;12195:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12249:5;12195:15;:60::i;:::-;12191:99;;;12272:7;;12191:99;12306:40;12314:10;12325:19;12314:31;;;;;;;;;12306:40;12302:205;;;12370:10;;12383:1;-1:-1:-1;12363:22:10;;;;12400:10;:12;;-1:-1:-1;;12400:12:10;;;12435:13;:11;:13::i;:::-;12427:68;;;;;;;-1:-1:-1;;;;;12427:68:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12558:5;12519:10;12530:19;12519:31;;;;;;;;;;;;;;;;;;;;:36;;:44;;;;;;;;;;;;:::i;:::-;;12580:40;12588:10;12599:19;12588:31;;;;;;;;;12580:40;12576:85;;;12637:10;:12;;;;;;12017:651;;;;:::o;11391:618::-;11683:24;11751:23;11481:5;2473:28;2490:10;2473:16;:28::i;:::-;2465:81;;;;;;;-1:-1:-1;;;;;2465:81:10;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2465:81:10;;;;-1:-1:-1;;;;;;;;;;;2465:81:10;;;;;;;;;;;;;;;11508:29;11528:8;11508:19;:29::i;:::-;11507:30;11499:85;;;;;-1:-1:-1;;;;;11499:85:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11603:22:10;;;;11595:75;;;;;-1:-1:-1;;;;;11595:75:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11737:1;11710:17;11728:5;11710:24;;;;;;;;;;;;;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;11710:24:10;;;;;;;;;;;;;;;;;;;;;;:28;11683:55;;11777:10;11788:19;11777:31;;;;;;;;;;;;;;;;;;:39;:31;;;;;:39;;;-1:-1:-1;;;;;11777:39:10;11834:37;;;:20;:37;;;;;;11827:44;;;;11884:31;;11777:39;;-1:-1:-1;11926:8:10;;11895:19;;11884:31;;;;;;;;;;;;;;;;;;;;;;:39;;:50;;-1:-1:-1;;11884:50:10;-1:-1:-1;;;;;11884:50:10;;;;;;11945:30;;;;;;:20;:30;;;-1:-1:-1;;11945:30:10;;;;-1:-1:-1;11978:23:10;;;;11945:56;;-1:-1:-1;11391:618:10:o;13401:207::-;13489:4;13513:23;13530:5;13513:16;:23::i;:::-;:87;;;;;13552:10;13590:1;13563:17;13581:5;13563:24;;;;;;;;;;;;;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;13563:24:10;;;;;-1:-1:-1;13563:24:10;;;;;;;;;;;13552:40;;13563:28;;;;13552:40;;;-1:-1:-1;13552:40:10;;-1:-1:-1;13552:40:10;;;;;;;;;;;:48;:40;;;;;:48;;-1:-1:-1;;;;;13540:60:10;;;13552:48;;13540:60;13513:87;13506:94;13401:207;-1:-1:-1;;;13401:207:10:o;10372:1011::-;10458:24;10524:29;10598;10865:30;10440:5;2473:28;2490:10;2473:16;:28::i;:::-;2465:81;;;;;;;-1:-1:-1;;;;;2465:81:10;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2465:81:10;;;;-1:-1:-1;;;;;;;;;;;2465:81:10;;;;;;;;;;;;;;;10512:1;10485:17;10503:5;10485:24;;;;;;;;;;;;;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;10485:24:10;;;;;;;;;;;;;;;;;;;;;;:28;10458:55;;10556:10;10567:19;10556:31;;;;;;;;;;;;;;;;;;;;;;;;;10630:22;;;;10669:23;;;;;;10630:22;;10669:23;;;;-1:-1:-1;;10669:23:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10556:31;;-1:-1:-1;;;;;;10630:22:10;;;;-1:-1:-1;10669:23:10;;;;10556:31;;10669:23;;10556:31;;10669:23;;;10556:31;10669:23;;;;;;;;;;;;;;;;;;;;;;;;;10665:188;;;10716:10;;10729:1;-1:-1:-1;10709:22:10;;;;10746:10;:12;;-1:-1:-1;;10746:12:10;;;10781:13;:11;:13::i;:::-;10773:68;;;;;;;-1:-1:-1;;;;;10773:68:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10898:10;10909:17;;-1:-1:-1;;10909:21:10;;;10898:33;;;;;;;;;;;;;;;;10865:66;;10976:15;10942:10;10953:19;10942:31;;;;;;;;;;;;;;;;;;;;:49;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;10942:49:10;;;;;;;;;;;;;-1:-1:-1;;10942:49:10;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;10942:49:10;;;;;;;;;;-1:-1:-1;;10942:49:10;-1:-1:-1;;;;;10942:49:10;;;;;;;;;;;;;;;;;11002:39;;;;10942:49;11044:23;;;;11002:17;;11020:15;;11002:39;;11020:15;;11002:39;;;10942:49;11002:39;-1:-1:-1;;11002:39:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;11002:39:10;;;-1:-1:-1;;11002:39:10;;;;;;;;;;;;;:65;;;;11099:23;;;;-1:-1:-1;;;;;11099:23:10;;;11078:45;;;;:20;:45;;;;;11148:1;11126:23;;11078:71;;11169:43;;;;;;;;11162:50;11230:24;;:17;;11248:5;;11002:39;;;11230:24;;;;11002:39;11230:24;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;-1:-1;;263:2;259:12;;;254:3;250:22;246:30;;340:21;;;311:9;;295:26;;;;377:20;365:33;;;11230:24:10;;;;;;;;;;;;;;;;;-1:-1:-1;11223:31:10;;11272:10;11283:17;;11272:10;;-1:-1:-1;11283:21:10;;;;-1:-1:-1;11272:33:10;;;-1:-1:-1;11272:33:10;;;;;;;;;;;;;;;;;11265:40;11272:33;;11265:40;:::i;:::-;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;:::i;:::-;-1:-1:-1;11265:40:10;;;;;;-1:-1:-1;;11265:40:10;;;;;;;;;;;;11316:19;;;;;-1:-1:-1;;11316:19:10;;;:::i;:::-;;11353:22;11369:5;11353:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;12912:135:10;-1:-1:-1;;;;;13005:30:10;12981:4;13005:30;;;:20;:30;;;;;;:34;;12912:135::o;13055:146::-;13110:4;13134:30;13151:7;:12;;;13134:16;:30::i;:::-;:59;;;;;13168:25;13180:7;:12;;;13168:11;:25::i;12676:91::-;12745:10;;12721:4;-1:-1:-1;12676:91:10;:::o;292:15962::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;292:15962:10;;;-1:-1:-1;292:15962:10;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;-1:-1:-1;292:15962:10;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;:::i;:::-;-1:-1:-1;292:15962:10;;;;;-1:-1:-1;;292:15962:10;;;;;;;;;;;",
  "source": "pragma solidity ^0.4.24;\r\n\r\nimport \"./BaseUpdateable.sol\";\r\nimport \"./DataMigration/PrivatePreview/PrivatePreviewMembers.sol\";\r\nimport \"./RootContract.sol\";\r\nimport \"./ConsortiumManagementContractVersion.sol\";\r\n\r\n// Store for consortium members, which records all member related information\r\ncontract Members is BaseUpdateable {\r\n\r\n struct Member {\r\n string name; // Unique and non-updatable\r\n string displayName; // Arbitrary string\r\n string subscriptionId; // Non-updatable\r\n string role; // Either \"ADMIN\" or \"MEMBER\"\r\n address account; // Unique\r\n uint correlationId; // Unique and non-updatable\r\n }\r\n\r\n struct MemberInvitation {\r\n string subscriptionId; // Non-updatable\r\n string role; // Either \"ADMIN\" or \"MEMBER\"\r\n uint correlationId; // Unique and non-updatable\r\n }\r\n\r\n string constant ADMIN_ROLE = \"ADMIN\";\r\n\r\n event MemberJoinedEvent(string name);\r\n event MemberLeftEvent(string name);\r\n\r\n // key should be equal to memberList[value - 1].name for each member in memberList\r\n mapping (string => uint) private memberIndexByName;\r\n\r\n // key should be equal to memberList[value - 1].account for each member having a non-zero account address in memberList\r\n mapping (address => uint) private memberIndexByAddress;\r\n\r\n // each member in memberList should have a unique name\r\n Member[] private memberList;\r\n\r\n // should always equal to the number of joined members who have admin roles\r\n uint private adminCount;\r\n\r\n // counter to generate unique correlationIds\r\n uint private correlationIdCounter;\r\n\r\n // key should be equal to invitationList[value - 1].name for each invitation in invitationList\r\n mapping (string => uint) private invitationIndexBySubscriptionId;\r\n\r\n // A list of member invitations for all invited members who have not yet joined\r\n MemberInvitation[] private invitationList;\r\n\r\n modifier isFromOperator {\r\n require(isOperatorAddress(msg.sender), \"Only permits invocation from operator.\");\r\n _;\r\n }\r\n\r\n modifier isFromAdmin {\r\n require(isAdminAddress(msg.sender), \"Only permits invocation from admins.\");\r\n _;\r\n }\r\n\r\n modifier isFromSelf(string memory memberName) {\r\n require(isAddressOfMember(msg.sender, memberName), \"Only permits invocation from the member's own account.\");\r\n _;\r\n }\r\n\r\n modifier isMemberExisted(string memory memberName) {\r\n require(existsMemberName(memberName), \"A member with such name does not exists.\");\r\n _;\r\n }\r\n \r\n modifier isInvitationExisted(string memory invitationSubscriptionId) {\r\n require(existsInvitation(invitationSubscriptionId), \"A member invitation with such subscription id does not exists.\");\r\n _;\r\n }\r\n\r\n constructor(RootContract _rootContract, IUpdateable _updateFrom)\r\n BaseUpdateable(address(_rootContract), address(_updateFrom))\r\n public\r\n {\r\n }\r\n\r\n function activate() external activateAccessControl {\r\n if (updateFrom == address(0)) {\r\n return;\r\n }\r\n\r\n uint i;\r\n string memory name;\r\n string memory subscriptionId;\r\n string memory role;\r\n string memory status;\r\n address accountAddress;\r\n\r\n uint major;\r\n uint minor;\r\n (major, minor, ) = getActiveVersion();\r\n require(major == 0 && minor == 0, \"Migration from versions other than 0.0 is not expected.\");\r\n\r\n PrivatePreviewMembers oldPrivatePreviewMembers = PrivatePreviewMembers(updateFrom);\r\n\r\n for (i = oldPrivatePreviewMembers.members_iterator_begin(); i < oldPrivatePreviewMembers.members_iterator_end(); i++) {\r\n name = oldPrivatePreviewMembers.members_iterator_current_name(i);\r\n subscriptionId = oldPrivatePreviewMembers.getMemberSubscriptionId(name);\r\n role = oldPrivatePreviewMembers.getMemberRole(name);\r\n status = oldPrivatePreviewMembers.getMemberStatus(name);\r\n accountAddress = oldPrivatePreviewMembers.getMemberAccount(name);\r\n bool isLeftMember = areStringsEqual(status, \"Left\");\r\n bool isJoinedMember = areStringsEqual(status, \"Ready\");\r\n\r\n if (isLeftMember) {\r\n continue;\r\n }\r\n else if (isJoinedMember && accountAddress != 0) {\r\n _addMember(name, name, subscriptionId, role, accountAddress, correlationIdCounter++);\r\n }\r\n else {\r\n if (!existsInvitation(subscriptionId)) {\r\n _addInvitation(subscriptionId, role, correlationIdCounter++);\r\n }\r\n else if (isAdminRole(role)) {\r\n _setInvitationRole(subscriptionId, ADMIN_ROLE);\r\n }\r\n }\r\n }\r\n }\r\n\r\n function addMember(\r\n string memory _name,\r\n string memory _displayName,\r\n string memory _subscriptionId,\r\n address _account\r\n )\r\n public isFromOperator\r\n {\r\n string memory role = getInvitationRole(_subscriptionId);\r\n uint correlationId = getInvitationCorrelationId(_subscriptionId);\r\n _removeInvitation(_subscriptionId);\r\n _addMember(_name, _displayName, _subscriptionId, role, _account, correlationId);\r\n }\r\n\r\n function injectMember(\r\n string memory _name,\r\n string memory _displayName,\r\n string memory _subscriptionId,\r\n string memory _role,\r\n address _account\r\n )\r\n public isFromOperator\r\n {\r\n _addMember(_name, _displayName, _subscriptionId, _role, _account, correlationIdCounter++);\r\n }\r\n\r\n function removeMember(string memory _name) public {\r\n require(\r\n isAdminAddress(msg.sender) || \r\n isAddressOfMember(msg.sender, _name) || \r\n isOperatorAddress(msg.sender),\r\n \"Only permits invocation from admins, the member themselves or the operator.\"\r\n );\r\n _removeMember(_name);\r\n }\r\n\r\n function setMemberAccount(string memory _name, address _account) public isFromOperator {\r\n _setMemberAccount(_name, _account);\r\n }\r\n\r\n function setMemberDisplayName(string memory _name, string memory _displayName) public isFromSelf(_name) isMemberExisted(_name) {\r\n memberList[memberIndexByName[_name] - 1].displayName = _displayName;\r\n }\r\n\r\n function setMemberRole(string memory _name, string memory _role) public isFromAdmin {\r\n _setMemberRole(_name, _role);\r\n }\r\n\r\n function getMemberSubscriptionId(string memory _name) public view isMemberExisted(_name) returns (string memory) {\r\n return memberList[memberIndexByName[_name] - 1].subscriptionId;\r\n }\r\n\r\n function getMemberAccount(string memory _name) public view isMemberExisted(_name) returns (address) {\r\n return memberList[memberIndexByName[_name] - 1].account;\r\n }\r\n\r\n function getMemberDisplayName(string memory _name) public view isMemberExisted(_name) returns (string memory) {\r\n return memberList[memberIndexByName[_name] - 1].displayName;\r\n }\r\n\r\n function getMemberRole(string memory _name) public view isMemberExisted(_name) returns (string memory) {\r\n return memberList[memberIndexByName[_name] - 1].role;\r\n }\r\n\r\n function getMemberStatus(string memory _name) public view isMemberExisted(_name) returns (string memory) {\r\n return \"Ready\";\r\n }\r\n\r\n function getMemberCorrelationId(string memory _name) public view isMemberExisted(_name) returns (uint) {\r\n return memberList[memberIndexByName[_name] - 1].correlationId;\r\n }\r\n\r\n function getAdminCount() public view returns (uint) {\r\n return adminCount;\r\n }\r\n\r\n function getMemberCount() public view returns (uint) {\r\n return memberList.length;\r\n }\r\n\r\n function getMemberNameAtIndex(uint iterator) public view returns (string memory) {\r\n require(iterator < memberList.length, \"Invalid iterator supplied.\");\r\n return memberList[iterator].name;\r\n }\r\n\r\n\r\n function inviteMember(string memory _subscriptionId, string memory _role) public isFromAdmin\r\n {\r\n _addInvitation(_subscriptionId, _role, correlationIdCounter++);\r\n }\r\n\r\n function removeInvitation(string memory _subscriptionId) public isFromAdmin\r\n {\r\n _removeInvitation(_subscriptionId);\r\n }\r\n\r\n function setInvitationRole(string memory _subscriptionId, string memory _role) public isFromAdmin {\r\n _setInvitationRole(_subscriptionId, _role);\r\n }\r\n\r\n function getInvitationRole(string memory _subscriptionId) \r\n public view isInvitationExisted(_subscriptionId) returns (string memory) {\r\n return invitationList[invitationIndexBySubscriptionId[_subscriptionId] - 1].role;\r\n }\r\n\r\n function getInvitationCorrelationId(string memory _subscriptionId) \r\n public view isInvitationExisted(_subscriptionId) returns (uint) {\r\n return invitationList[invitationIndexBySubscriptionId[_subscriptionId] - 1].correlationId;\r\n }\r\n\r\n function getInvitationCount() public view returns (uint) {\r\n return invitationList.length;\r\n }\r\n\r\n function getInvitationSubscriptionIdAtIndex(uint iterator) public view returns (string memory) {\r\n require(iterator < invitationList.length, \"Invalid iterator supplied.\");\r\n return invitationList[iterator].subscriptionId;\r\n }\r\n\r\n\r\n function _addMember(\r\n string memory _name,\r\n string memory _displayName,\r\n string memory _subscriptionId,\r\n string memory _role,\r\n address _account,\r\n uint _correlationId\r\n )\r\n private\r\n {\r\n require(!existsMemberName(_name), \"A member with such name already exists.\");\r\n require(!existsMemberAddress(_account), \"A member with such address already exists.\");\r\n require(_account != address(0), \"Assigning a zero address is not allowed.\");\r\n\r\n memberList.push(Member(\r\n _name,\r\n _displayName,\r\n _subscriptionId,\r\n _role,\r\n _account,\r\n _correlationId\r\n ));\r\n memberIndexByName[_name] = memberList.length;\r\n memberIndexByAddress[_account] = memberList.length;\r\n\r\n if (isAdminRole(_role)) {\r\n adminCount++;\r\n }\r\n\r\n emit MemberJoinedEvent(_name);\r\n }\r\n\r\n function _removeMember(string memory _name) private isMemberExisted(_name) {\r\n uint memberIndexBaseZero = memberIndexByName[_name] - 1;\r\n Member storage memberToRemove = memberList[memberIndexBaseZero];\r\n address memberToRemoveAddress = memberToRemove.account;\r\n\r\n if (isAdmin(memberToRemove)) {\r\n assert(adminCount > 0);\r\n adminCount--;\r\n require(existAdmins(), \"Consortium should have at least one admin.\");\r\n }\r\n\r\n Member storage memberToBeMoved = memberList[memberList.length - 1];\r\n memberList[memberIndexBaseZero] = memberToBeMoved;\r\n memberIndexByName[memberToBeMoved.name] = memberIndexBaseZero + 1;\r\n memberIndexByAddress[memberToBeMoved.account] = memberIndexBaseZero + 1;\r\n\r\n delete memberIndexByAddress[memberToRemoveAddress];\r\n delete memberIndexByName[_name];\r\n delete memberList[memberList.length - 1];\r\n memberList.length--;\r\n\r\n emit MemberLeftEvent(_name);\r\n }\r\n\r\n function _setMemberAccount(string memory _name, address _account) private isMemberExisted(_name) {\r\n require(!existsMemberAddress(_account), \"A member with such address already exists.\");\r\n require(_account != address(0), \"Assigning a zero address is not allowed.\");\r\n\r\n uint memberIndexBaseZero = memberIndexByName[_name] - 1;\r\n\r\n address originalAccount = memberList[memberIndexBaseZero].account;\r\n delete memberIndexByAddress[originalAccount];\r\n\r\n memberList[memberIndexBaseZero].account = _account;\r\n memberIndexByAddress[_account] = memberIndexBaseZero + 1;\r\n }\r\n\r\n function _setMemberRole(string memory _name, string memory _role) private isMemberExisted(_name) {\r\n uint memberIndexBaseZero = memberIndexByName[_name] - 1;\r\n if (areStringsEqual(memberList[memberIndexBaseZero].role, _role)) {\r\n return;\r\n }\r\n\r\n if (isAdmin(memberList[memberIndexBaseZero])) {\r\n assert(adminCount > 0);\r\n adminCount--;\r\n require(existAdmins(), \"Consortium should have at least one admin.\");\r\n }\r\n\r\n memberList[memberIndexBaseZero].role = _role;\r\n\r\n if (isAdmin(memberList[memberIndexBaseZero])) {\r\n adminCount++;\r\n }\r\n }\r\n\r\n function existAdmins() private view returns (bool) {\r\n return adminCount > 0;\r\n }\r\n\r\n function existsMemberName(string memory _name) private view returns (bool) {\r\n return memberIndexByName[_name] > 0;\r\n }\r\n\r\n function existsMemberAddress(address _address) private view returns (bool) {\r\n return memberIndexByAddress[_address] > 0;\r\n }\r\n\r\n function isAdmin(Member _member) private view returns (bool) {\r\n return existsMemberName(_member.name) && isAdminRole(_member.role);\r\n }\r\n\r\n function isAdminAddress(address _address) private view returns (bool) {\r\n return existsMemberAddress(_address) && isAdmin(memberList[memberIndexByAddress[_address] - 1]);\r\n }\r\n\r\n function isAddressOfMember(address _address, string memory _name) private view returns (bool) {\r\n return existsMemberName(_name) && _address == memberList[memberIndexByName[_name] - 1].account;\r\n }\r\n\r\n\r\n function _addInvitation(string memory _subscriptionId, string memory _role, uint _correlationId) private\r\n {\r\n require(!existsInvitation(_subscriptionId), \"A member invitation with such subscription id already exists.\");\r\n\r\n invitationList.push(MemberInvitation(_subscriptionId, _role, _correlationId));\r\n invitationIndexBySubscriptionId[_subscriptionId] = invitationList.length;\r\n }\r\n\r\n function _removeInvitation(string memory _subscriptionId) private isInvitationExisted(_subscriptionId)\r\n {\r\n uint invitationIndexBaseZero = invitationIndexBySubscriptionId[_subscriptionId] - 1;\r\n \r\n MemberInvitation storage invitationToMove = invitationList[invitationList.length - 1];\r\n invitationList[invitationIndexBaseZero] = invitationToMove;\r\n invitationIndexBySubscriptionId[invitationToMove.subscriptionId] = invitationIndexBaseZero + 1;\r\n\r\n delete invitationIndexBySubscriptionId[_subscriptionId];\r\n delete invitationList[invitationList.length - 1];\r\n invitationList.length--;\r\n }\r\n\r\n function _setInvitationRole(string memory _subscriptionId, string memory _role) private isInvitationExisted(_subscriptionId) {\r\n invitationList[invitationIndexBySubscriptionId[_subscriptionId] - 1].role = _role;\r\n }\r\n\r\n function existsInvitation(string memory _subscriptionId) private view returns (bool) {\r\n return invitationIndexBySubscriptionId[_subscriptionId] > 0;\r\n }\r\n\r\n\r\n function isRootContractAddress(address _address) private view returns (bool) {\r\n return _address == address(rootContract);\r\n }\r\n\r\n function isOperatorAddress(address _address) private view returns (bool) {\r\n return _address == rootContract.operator();\r\n }\r\n\r\n function getActiveVersion() private view returns (uint major, uint minor, uint patch) {\r\n address versionContractAddress = rootContract.getContract(\"ConsortiumManagementContractVersion\");\r\n if (versionContractAddress == address(0)) {\r\n return (0, 0, 0);\r\n }\r\n else {\r\n ConsortiumManagementContractVersion version = ConsortiumManagementContractVersion(versionContractAddress);\r\n return (version.getMajor(), version.getMinor(), version.getPatch());\r\n }\r\n }\r\n\r\n function isAdminRole(string memory _role) private pure returns (bool) {\r\n return areStringsEqual(_role, ADMIN_ROLE);\r\n }\r\n\r\n function areStringsEqual(string memory _str1, string memory _str2) private pure returns (bool) {\r\n return keccak256(abi.encodePacked(_str1)) == keccak256(abi.encodePacked(_str2));\r\n }\r\n}",
  "sourcePath": "d:/a/1/s/contracts/Members.sol",
  "ast": {
    "absolutePath": "/d/a/1/s/contracts/Members.sol",
    "exportedSymbols": {
      "Members": [
        3928
      ]
    },
    "id": 3929,
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 2537,
        "literals": [
          "solidity",
          "^",
          "0.4",
          ".24"
        ],
        "nodeType": "PragmaDirective",
        "src": "0:24:10"
      },
      {
        "absolutePath": "/d/a/1/s/contracts/BaseUpdateable.sol",
        "file": "./BaseUpdateable.sol",
        "id": 2538,
        "nodeType": "ImportDirective",
        "scope": 3929,
        "sourceUnit": 54,
        "src": "28:30:10",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "/d/a/1/s/contracts/DataMigration/PrivatePreview/PrivatePreviewMembers.sol",
        "file": "./DataMigration/PrivatePreview/PrivatePreviewMembers.sol",
        "id": 2539,
        "nodeType": "ImportDirective",
        "scope": 3929,
        "sourceUnit": 1899,
        "src": "60:66:10",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "/d/a/1/s/contracts/RootContract.sol",
        "file": "./RootContract.sol",
        "id": 2540,
        "nodeType": "ImportDirective",
        "scope": 3929,
        "sourceUnit": 4082,
        "src": "128:28:10",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "/d/a/1/s/contracts/ConsortiumManagementContractVersion.sol",
        "file": "./ConsortiumManagementContractVersion.sol",
        "id": 2541,
        "nodeType": "ImportDirective",
        "scope": 3929,
        "sourceUnit": 107,
        "src": "158:51:10",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "baseContracts": [
          {
            "arguments": null,
            "baseName": {
              "contractScope": null,
              "id": 2542,
              "name": "BaseUpdateable",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 53,
              "src": "312:14:10",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_BaseUpdateable_$53",
                "typeString": "contract BaseUpdateable"
              }
            },
            "id": 2543,
            "nodeType": "InheritanceSpecifier",
            "src": "312:14:10"
          }
        ],
        "contractDependencies": [
          53,
          2535
        ],
        "contractKind": "contract",
        "documentation": null,
        "fullyImplemented": true,
        "id": 3928,
        "linearizedBaseContracts": [
          3928,
          53,
          2535
        ],
        "name": "Members",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "canonicalName": "Members.Member",
            "id": 2556,
            "members": [
              {
                "constant": false,
                "id": 2545,
                "name": "name",
                "nodeType": "VariableDeclaration",
                "scope": 2556,
                "src": "361:11:10",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_string_storage_ptr",
                  "typeString": "string"
                },
                "typeName": {
                  "id": 2544,
                  "name": "string",
                  "nodeType": "ElementaryTypeName",
                  "src": "361:6:10",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_storage_ptr",
                    "typeString": "string"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2547,
                "name": "displayName",
                "nodeType": "VariableDeclaration",
                "scope": 2556,
                "src": "411:18:10",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_string_storage_ptr",
                  "typeString": "string"
                },
                "typeName": {
                  "id": 2546,
                  "name": "string",
                  "nodeType": "ElementaryTypeName",
                  "src": "411:6:10",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_storage_ptr",
                    "typeString": "string"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2549,
                "name": "subscriptionId",
                "nodeType": "VariableDeclaration",
                "scope": 2556,
                "src": "460:21:10",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_string_storage_ptr",
                  "typeString": "string"
                },
                "typeName": {
                  "id": 2548,
                  "name": "string",
                  "nodeType": "ElementaryTypeName",
                  "src": "460:6:10",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_storage_ptr",
                    "typeString": "string"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2551,
                "name": "role",
                "nodeType": "VariableDeclaration",
                "scope": 2556,
                "src": "509:11:10",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_string_storage_ptr",
                  "typeString": "string"
                },
                "typeName": {
                  "id": 2550,
                  "name": "string",
                  "nodeType": "ElementaryTypeName",
                  "src": "509:6:10",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_storage_ptr",
                    "typeString": "string"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2553,
                "name": "account",
                "nodeType": "VariableDeclaration",
                "scope": 2556,
                "src": "561:15:10",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                },
                "typeName": {
                  "id": 2552,
                  "name": "address",
                  "nodeType": "ElementaryTypeName",
                  "src": "561:7:10",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2555,
                "name": "correlationId",
                "nodeType": "VariableDeclaration",
                "scope": 2556,
                "src": "597:18:10",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 2554,
                  "name": "uint",
                  "nodeType": "ElementaryTypeName",
                  "src": "597:4:10",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "value": null,
                "visibility": "internal"
              }
            ],
            "name": "Member",
            "nodeType": "StructDefinition",
            "scope": 3928,
            "src": "336:315:10",
            "visibility": "public"
          },
          {
            "canonicalName": "Members.MemberInvitation",
            "id": 2563,
            "members": [
              {
                "constant": false,
                "id": 2558,
                "name": "subscriptionId",
                "nodeType": "VariableDeclaration",
                "scope": 2563,
                "src": "694:21:10",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_string_storage_ptr",
                  "typeString": "string"
                },
                "typeName": {
                  "id": 2557,
                  "name": "string",
                  "nodeType": "ElementaryTypeName",
                  "src": "694:6:10",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_storage_ptr",
                    "typeString": "string"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2560,
                "name": "role",
                "nodeType": "VariableDeclaration",
                "scope": 2563,
                "src": "743:11:10",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_string_storage_ptr",
                  "typeString": "string"
                },
                "typeName": {
                  "id": 2559,
                  "name": "string",
                  "nodeType": "ElementaryTypeName",
                  "src": "743:6:10",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_storage_ptr",
                    "typeString": "string"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2562,
                "name": "correlationId",
                "nodeType": "VariableDeclaration",
                "scope": 2563,
                "src": "795:18:10",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 2561,
                  "name": "uint",
                  "nodeType": "ElementaryTypeName",
                  "src": "795:4:10",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "value": null,
                "visibility": "internal"
              }
            ],
            "name": "MemberInvitation",
            "nodeType": "StructDefinition",
            "scope": 3928,
            "src": "659:190:10",
            "visibility": "public"
          },
          {
            "constant": true,
            "id": 2566,
            "name": "ADMIN_ROLE",
            "nodeType": "VariableDeclaration",
            "scope": 3928,
            "src": "857:36:10",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_string_memory",
              "typeString": "string"
            },
            "typeName": {
              "id": 2564,
              "name": "string",
              "nodeType": "ElementaryTypeName",
              "src": "857:6:10",
              "typeDescriptions": {
                "typeIdentifier": "t_string_storage_ptr",
                "typeString": "string"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "41444d494e",
              "id": 2565,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "string",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "886:7:10",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_stringliteral_df8b4c520ffe197c5343c6f5aec59570151ef9a492f2c624fd45ddde6135ec42",
                "typeString": "literal_string \"ADMIN\""
              },
              "value": "ADMIN"
            },
            "visibility": "internal"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 2570,
            "name": "MemberJoinedEvent",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 2569,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2568,
                  "indexed": false,
                  "name": "name",
                  "nodeType": "VariableDeclaration",
                  "scope": 2570,
                  "src": "926:11:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 2567,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "926:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "925:13:10"
            },
            "src": "902:37:10"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 2574,
            "name": "MemberLeftEvent",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 2573,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2572,
                  "indexed": false,
                  "name": "name",
                  "nodeType": "VariableDeclaration",
                  "scope": 2574,
                  "src": "967:11:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 2571,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "967:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "966:13:10"
            },
            "src": "945:35:10"
          },
          {
            "constant": false,
            "id": 2578,
            "name": "memberIndexByName",
            "nodeType": "VariableDeclaration",
            "scope": 3928,
            "src": "1076:50:10",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_mapping$_t_string_memory_$_t_uint256_$",
              "typeString": "mapping(string => uint256)"
            },
            "typeName": {
              "id": 2577,
              "keyType": {
                "id": 2575,
                "name": "string",
                "nodeType": "ElementaryTypeName",
                "src": "1085:6:10",
                "typeDescriptions": {
                  "typeIdentifier": "t_string_storage_ptr",
                  "typeString": "string"
                }
              },
              "nodeType": "Mapping",
              "src": "1076:24:10",
              "typeDescriptions": {
                "typeIdentifier": "t_mapping$_t_string_memory_$_t_uint256_$",
                "typeString": "mapping(string => uint256)"
              },
              "valueType": {
                "id": 2576,
                "name": "uint",
                "nodeType": "ElementaryTypeName",
                "src": "1095:4:10",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                }
              }
            },
            "value": null,
            "visibility": "private"
          },
          {
            "constant": false,
            "id": 2582,
            "name": "memberIndexByAddress",
            "nodeType": "VariableDeclaration",
            "scope": 3928,
            "src": "1260:54:10",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
              "typeString": "mapping(address => uint256)"
            },
            "typeName": {
              "id": 2581,
              "keyType": {
                "id": 2579,
                "name": "address",
                "nodeType": "ElementaryTypeName",
                "src": "1269:7:10",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                }
              },
              "nodeType": "Mapping",
              "src": "1260:25:10",
              "typeDescriptions": {
                "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                "typeString": "mapping(address => uint256)"
              },
              "valueType": {
                "id": 2580,
                "name": "uint",
                "nodeType": "ElementaryTypeName",
                "src": "1280:4:10",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                }
              }
            },
            "value": null,
            "visibility": "private"
          },
          {
            "constant": false,
            "id": 2585,
            "name": "memberList",
            "nodeType": "VariableDeclaration",
            "scope": 3928,
            "src": "1383:27:10",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_array$_t_struct$_Member_$2556_storage_$dyn_storage",
              "typeString": "struct Members.Member[]"
            },
            "typeName": {
              "baseType": {
                "contractScope": null,
                "id": 2583,
                "name": "Member",
                "nodeType": "UserDefinedTypeName",
                "referencedDeclaration": 2556,
                "src": "1383:6:10",
                "typeDescriptions": {
                  "typeIdentifier": "t_struct$_Member_$2556_storage_ptr",
                  "typeString": "struct Members.Member"
                }
              },
              "id": 2584,
              "length": null,
              "nodeType": "ArrayTypeName",
              "src": "1383:8:10",
              "typeDescriptions": {
                "typeIdentifier": "t_array$_t_struct$_Member_$2556_storage_$dyn_storage_ptr",
                "typeString": "struct Members.Member[]"
              }
            },
            "value": null,
            "visibility": "private"
          },
          {
            "constant": false,
            "id": 2587,
            "name": "adminCount",
            "nodeType": "VariableDeclaration",
            "scope": 3928,
            "src": "1500:23:10",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 2586,
              "name": "uint",
              "nodeType": "ElementaryTypeName",
              "src": "1500:4:10",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "private"
          },
          {
            "constant": false,
            "id": 2589,
            "name": "correlationIdCounter",
            "nodeType": "VariableDeclaration",
            "scope": 3928,
            "src": "1582:33:10",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 2588,
              "name": "uint",
              "nodeType": "ElementaryTypeName",
              "src": "1582:4:10",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "private"
          },
          {
            "constant": false,
            "id": 2593,
            "name": "invitationIndexBySubscriptionId",
            "nodeType": "VariableDeclaration",
            "scope": 3928,
            "src": "1724:64:10",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_mapping$_t_string_memory_$_t_uint256_$",
              "typeString": "mapping(string => uint256)"
            },
            "typeName": {
              "id": 2592,
              "keyType": {
                "id": 2590,
                "name": "string",
                "nodeType": "ElementaryTypeName",
                "src": "1733:6:10",
                "typeDescriptions": {
                  "typeIdentifier": "t_string_storage_ptr",
                  "typeString": "string"
                }
              },
              "nodeType": "Mapping",
              "src": "1724:24:10",
              "typeDescriptions": {
                "typeIdentifier": "t_mapping$_t_string_memory_$_t_uint256_$",
                "typeString": "mapping(string => uint256)"
              },
              "valueType": {
                "id": 2591,
                "name": "uint",
                "nodeType": "ElementaryTypeName",
                "src": "1743:4:10",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                }
              }
            },
            "value": null,
            "visibility": "private"
          },
          {
            "constant": false,
            "id": 2596,
            "name": "invitationList",
            "nodeType": "VariableDeclaration",
            "scope": 3928,
            "src": "1882:41:10",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_array$_t_struct$_MemberInvitation_$2563_storage_$dyn_storage",
              "typeString": "struct Members.MemberInvitation[]"
            },
            "typeName": {
              "baseType": {
                "contractScope": null,
                "id": 2594,
                "name": "MemberInvitation",
                "nodeType": "UserDefinedTypeName",
                "referencedDeclaration": 2563,
                "src": "1882:16:10",
                "typeDescriptions": {
                  "typeIdentifier": "t_struct$_MemberInvitation_$2563_storage_ptr",
                  "typeString": "struct Members.MemberInvitation"
                }
              },
              "id": 2595,
              "length": null,
              "nodeType": "ArrayTypeName",
              "src": "1882:18:10",
              "typeDescriptions": {
                "typeIdentifier": "t_array$_t_struct$_MemberInvitation_$2563_storage_$dyn_storage_ptr",
                "typeString": "struct Members.MemberInvitation[]"
              }
            },
            "value": null,
            "visibility": "private"
          },
          {
            "body": {
              "id": 2607,
              "nodeType": "Block",
              "src": "1956:111:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 2600,
                              "name": "msg",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 4096,
                              "src": "1993:3:10",
                              "typeDescriptions": {
                                "typeIdentifier": "t_magic_message",
                                "typeString": "msg"
                              }
                            },
                            "id": 2601,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "sender",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": null,
                            "src": "1993:10:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          ],
                          "id": 2599,
                          "name": "isOperatorAddress",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3843,
                          "src": "1975:17:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$",
                            "typeString": "function (address) view returns (bool)"
                          }
                        },
                        "id": 2602,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "1975:29:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "4f6e6c79207065726d69747320696e766f636174696f6e2066726f6d206f70657261746f722e",
                        "id": 2603,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "2006:40:10",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_a2c6b8f7086b9cb3fba92ce3827a4024ad98857ab5279a6202f8ff42f881a0e9",
                          "typeString": "literal_string \"Only permits invocation from operator.\""
                        },
                        "value": "Only permits invocation from operator."
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_a2c6b8f7086b9cb3fba92ce3827a4024ad98857ab5279a6202f8ff42f881a0e9",
                          "typeString": "literal_string \"Only permits invocation from operator.\""
                        }
                      ],
                      "id": 2598,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        4099,
                        4100
                      ],
                      "referencedDeclaration": 4100,
                      "src": "1967:7:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 2604,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1967:80:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 2605,
                  "nodeType": "ExpressionStatement",
                  "src": "1967:80:10"
                },
                {
                  "id": 2606,
                  "nodeType": "PlaceholderStatement",
                  "src": "2058:1:10"
                }
              ]
            },
            "documentation": null,
            "id": 2608,
            "name": "isFromOperator",
            "nodeType": "ModifierDefinition",
            "parameters": {
              "id": 2597,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1956:0:10"
            },
            "src": "1932:135:10",
            "visibility": "internal"
          },
          {
            "body": {
              "id": 2619,
              "nodeType": "Block",
              "src": "2096:106:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 2612,
                              "name": "msg",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 4096,
                              "src": "2130:3:10",
                              "typeDescriptions": {
                                "typeIdentifier": "t_magic_message",
                                "typeString": "msg"
                              }
                            },
                            "id": 2613,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "sender",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": null,
                            "src": "2130:10:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          ],
                          "id": 2611,
                          "name": "isAdminAddress",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3660,
                          "src": "2115:14:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$",
                            "typeString": "function (address) view returns (bool)"
                          }
                        },
                        "id": 2614,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "2115:26:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "4f6e6c79207065726d69747320696e766f636174696f6e2066726f6d2061646d696e732e",
                        "id": 2615,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "2143:38:10",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_f0058c18d1fb460a6e2435957f8dd8ed8fdb9b308d7aea617324ed7baacc409a",
                          "typeString": "literal_string \"Only permits invocation from admins.\""
                        },
                        "value": "Only permits invocation from admins."
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_f0058c18d1fb460a6e2435957f8dd8ed8fdb9b308d7aea617324ed7baacc409a",
                          "typeString": "literal_string \"Only permits invocation from admins.\""
                        }
                      ],
                      "id": 2610,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        4099,
                        4100
                      ],
                      "referencedDeclaration": 4100,
                      "src": "2107:7:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 2616,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2107:75:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 2617,
                  "nodeType": "ExpressionStatement",
                  "src": "2107:75:10"
                },
                {
                  "id": 2618,
                  "nodeType": "PlaceholderStatement",
                  "src": "2193:1:10"
                }
              ]
            },
            "documentation": null,
            "id": 2620,
            "name": "isFromAdmin",
            "nodeType": "ModifierDefinition",
            "parameters": {
              "id": 2609,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2096:0:10"
            },
            "src": "2075:127:10",
            "visibility": "internal"
          },
          {
            "body": {
              "id": 2634,
              "nodeType": "Block",
              "src": "2256:139:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 2626,
                              "name": "msg",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 4096,
                              "src": "2293:3:10",
                              "typeDescriptions": {
                                "typeIdentifier": "t_magic_message",
                                "typeString": "msg"
                              }
                            },
                            "id": 2627,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "sender",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": null,
                            "src": "2293:10:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 2628,
                            "name": "memberName",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2622,
                            "src": "2305:10:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            },
                            {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          ],
                          "id": 2625,
                          "name": "isAddressOfMember",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3685,
                          "src": "2275:17:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_view$_t_address_$_t_string_memory_ptr_$returns$_t_bool_$",
                            "typeString": "function (address,string memory) view returns (bool)"
                          }
                        },
                        "id": 2629,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "2275:41:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "4f6e6c79207065726d69747320696e766f636174696f6e2066726f6d20746865206d656d6265722773206f776e206163636f756e742e",
                        "id": 2630,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "2318:56:10",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_f095888b38b7bad6977931bffb679a57cfa9d9ec9c49b1e453b0a918f87a6c8e",
                          "typeString": "literal_string \"Only permits invocation from the member's own account.\""
                        },
                        "value": "Only permits invocation from the member's own account."
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_f095888b38b7bad6977931bffb679a57cfa9d9ec9c49b1e453b0a918f87a6c8e",
                          "typeString": "literal_string \"Only permits invocation from the member's own account.\""
                        }
                      ],
                      "id": 2624,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        4099,
                        4100
                      ],
                      "referencedDeclaration": 4100,
                      "src": "2267:7:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 2631,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2267:108:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 2632,
                  "nodeType": "ExpressionStatement",
                  "src": "2267:108:10"
                },
                {
                  "id": 2633,
                  "nodeType": "PlaceholderStatement",
                  "src": "2386:1:10"
                }
              ]
            },
            "documentation": null,
            "id": 2635,
            "name": "isFromSelf",
            "nodeType": "ModifierDefinition",
            "parameters": {
              "id": 2623,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2622,
                  "name": "memberName",
                  "nodeType": "VariableDeclaration",
                  "scope": 2635,
                  "src": "2230:24:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 2621,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "2230:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2229:26:10"
            },
            "src": "2210:185:10",
            "visibility": "internal"
          },
          {
            "body": {
              "id": 2647,
              "nodeType": "Block",
              "src": "2454:112:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 2641,
                            "name": "memberName",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2637,
                            "src": "2490:10:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          ],
                          "id": 2640,
                          "name": "existsMemberName",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3606,
                          "src": "2473:16:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$_t_bool_$",
                            "typeString": "function (string memory) view returns (bool)"
                          }
                        },
                        "id": 2642,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "2473:28:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "41206d656d62657220776974682073756368206e616d6520646f6573206e6f74206578697374732e",
                        "id": 2643,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "2503:42:10",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_7a47041c619d3153b31b4235b5f89c02a456811eab841c0a9650f1bc0bc749b9",
                          "typeString": "literal_string \"A member with such name does not exists.\""
                        },
                        "value": "A member with such name does not exists."
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_7a47041c619d3153b31b4235b5f89c02a456811eab841c0a9650f1bc0bc749b9",
                          "typeString": "literal_string \"A member with such name does not exists.\""
                        }
                      ],
                      "id": 2639,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        4099,
                        4100
                      ],
                      "referencedDeclaration": 4100,
                      "src": "2465:7:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 2644,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2465:81:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 2645,
                  "nodeType": "ExpressionStatement",
                  "src": "2465:81:10"
                },
                {
                  "id": 2646,
                  "nodeType": "PlaceholderStatement",
                  "src": "2557:1:10"
                }
              ]
            },
            "documentation": null,
            "id": 2648,
            "name": "isMemberExisted",
            "nodeType": "ModifierDefinition",
            "parameters": {
              "id": 2638,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2637,
                  "name": "memberName",
                  "nodeType": "VariableDeclaration",
                  "scope": 2648,
                  "src": "2428:24:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 2636,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "2428:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2427:26:10"
            },
            "src": "2403:163:10",
            "visibility": "internal"
          },
          {
            "body": {
              "id": 2660,
              "nodeType": "Block",
              "src": "2647:148:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 2654,
                            "name": "invitationSubscriptionId",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2650,
                            "src": "2683:24:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          ],
                          "id": 2653,
                          "name": "existsInvitation",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3815,
                          "src": "2666:16:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$_t_bool_$",
                            "typeString": "function (string memory) view returns (bool)"
                          }
                        },
                        "id": 2655,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "2666:42:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "41206d656d62657220696e7669746174696f6e2077697468207375636820737562736372697074696f6e20696420646f6573206e6f74206578697374732e",
                        "id": 2656,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "2710:64:10",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_6c8baf90898ccecd94182d463a5121b80309ff6b47e0d04c30f89fb9211a5b42",
                          "typeString": "literal_string \"A member invitation with such subscription id does not exists.\""
                        },
                        "value": "A member invitation with such subscription id does not exists."
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_6c8baf90898ccecd94182d463a5121b80309ff6b47e0d04c30f89fb9211a5b42",
                          "typeString": "literal_string \"A member invitation with such subscription id does not exists.\""
                        }
                      ],
                      "id": 2652,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        4099,
                        4100
                      ],
                      "referencedDeclaration": 4100,
                      "src": "2658:7:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 2657,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2658:117:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 2658,
                  "nodeType": "ExpressionStatement",
                  "src": "2658:117:10"
                },
                {
                  "id": 2659,
                  "nodeType": "PlaceholderStatement",
                  "src": "2786:1:10"
                }
              ]
            },
            "documentation": null,
            "id": 2661,
            "name": "isInvitationExisted",
            "nodeType": "ModifierDefinition",
            "parameters": {
              "id": 2651,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2650,
                  "name": "invitationSubscriptionId",
                  "nodeType": "VariableDeclaration",
                  "scope": 2661,
                  "src": "2607:38:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 2649,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "2607:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2606:40:10"
            },
            "src": "2578:217:10",
            "visibility": "internal"
          },
          {
            "body": {
              "id": 2676,
              "nodeType": "Block",
              "src": "2959:8:10",
              "statements": []
            },
            "documentation": null,
            "id": 2677,
            "implemented": true,
            "isConstructor": true,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 2669,
                        "name": "_rootContract",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2663,
                        "src": "2900:13:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_RootContract_$4081",
                          "typeString": "contract RootContract"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_contract$_RootContract_$4081",
                          "typeString": "contract RootContract"
                        }
                      ],
                      "id": 2668,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "nodeType": "ElementaryTypeNameExpression",
                      "src": "2892:7:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_type$_t_address_$",
                        "typeString": "type(address)"
                      },
                      "typeName": "address"
                    },
                    "id": 2670,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "typeConversion",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2892:22:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 2672,
                        "name": "_updateFrom",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2665,
                        "src": "2924:11:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IUpdateable_$2535",
                          "typeString": "contract IUpdateable"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_contract$_IUpdateable_$2535",
                          "typeString": "contract IUpdateable"
                        }
                      ],
                      "id": 2671,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "nodeType": "ElementaryTypeNameExpression",
                      "src": "2916:7:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_type$_t_address_$",
                        "typeString": "type(address)"
                      },
                      "typeName": "address"
                    },
                    "id": 2673,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "typeConversion",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2916:20:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  }
                ],
                "id": 2674,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 2667,
                  "name": "BaseUpdateable",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 53,
                  "src": "2877:14:10",
                  "typeDescriptions": {
                    "typeIdentifier": "t_type$_t_contract$_BaseUpdateable_$53_$",
                    "typeString": "type(contract BaseUpdateable)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "2877:60:10"
              }
            ],
            "name": "",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 2666,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2663,
                  "name": "_rootContract",
                  "nodeType": "VariableDeclaration",
                  "scope": 2677,
                  "src": "2815:26:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_RootContract_$4081",
                    "typeString": "contract RootContract"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 2662,
                    "name": "RootContract",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 4081,
                    "src": "2815:12:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_RootContract_$4081",
                      "typeString": "contract RootContract"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2665,
                  "name": "_updateFrom",
                  "nodeType": "VariableDeclaration",
                  "scope": 2677,
                  "src": "2843:23:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_IUpdateable_$2535",
                    "typeString": "contract IUpdateable"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 2664,
                    "name": "IUpdateable",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 2535,
                    "src": "2843:11:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_IUpdateable_$2535",
                      "typeString": "contract IUpdateable"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2814:53:10"
            },
            "payable": false,
            "returnParameters": {
              "id": 2675,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2959:0:10"
            },
            "scope": 3928,
            "src": "2803:164:10",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 2848,
              "nodeType": "Block",
              "src": "3026:1796:10",
              "statements": [
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    },
                    "id": 2686,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 2682,
                      "name": "updateFrom",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 9,
                      "src": "3041:10:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "==",
                    "rightExpression": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "hexValue": "30",
                          "id": 2684,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "3063:1:10",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_0_by_1",
                            "typeString": "int_const 0"
                          },
                          "value": "0"
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_rational_0_by_1",
                            "typeString": "int_const 0"
                          }
                        ],
                        "id": 2683,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "nodeType": "ElementaryTypeNameExpression",
                        "src": "3055:7:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_address_$",
                          "typeString": "type(address)"
                        },
                        "typeName": "address"
                      },
                      "id": 2685,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "typeConversion",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "3055:10:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "src": "3041:24:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": null,
                  "id": 2689,
                  "nodeType": "IfStatement",
                  "src": "3037:63:10",
                  "trueBody": {
                    "id": 2688,
                    "nodeType": "Block",
                    "src": "3067:33:10",
                    "statements": [
                      {
                        "expression": null,
                        "functionReturnParameters": 2681,
                        "id": 2687,
                        "nodeType": "Return",
                        "src": "3082:7:10"
                      }
                    ]
                  }
                },
                {
                  "assignments": [],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 2691,
                      "name": "i",
                      "nodeType": "VariableDeclaration",
                      "scope": 2849,
                      "src": "3112:6:10",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 2690,
                        "name": "uint",
                        "nodeType": "ElementaryTypeName",
                        "src": "3112:4:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 2692,
                  "initialValue": null,
                  "nodeType": "VariableDeclarationStatement",
                  "src": "3112:6:10"
                },
                {
                  "assignments": [],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 2694,
                      "name": "name",
                      "nodeType": "VariableDeclaration",
                      "scope": 2849,
                      "src": "3129:18:10",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_memory_ptr",
                        "typeString": "string"
                      },
                      "typeName": {
                        "id": 2693,
                        "name": "string",
                        "nodeType": "ElementaryTypeName",
                        "src": "3129:6:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_storage_ptr",
                          "typeString": "string"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 2695,
                  "initialValue": null,
                  "nodeType": "VariableDeclarationStatement",
                  "src": "3129:18:10"
                },
                {
                  "assignments": [],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 2697,
                      "name": "subscriptionId",
                      "nodeType": "VariableDeclaration",
                      "scope": 2849,
                      "src": "3158:28:10",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_memory_ptr",
                        "typeString": "string"
                      },
                      "typeName": {
                        "id": 2696,
                        "name": "string",
                        "nodeType": "ElementaryTypeName",
                        "src": "3158:6:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_storage_ptr",
                          "typeString": "string"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 2698,
                  "initialValue": null,
                  "nodeType": "VariableDeclarationStatement",
                  "src": "3158:28:10"
                },
                {
                  "assignments": [],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 2700,
                      "name": "role",
                      "nodeType": "VariableDeclaration",
                      "scope": 2849,
                      "src": "3197:18:10",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_memory_ptr",
                        "typeString": "string"
                      },
                      "typeName": {
                        "id": 2699,
                        "name": "string",
                        "nodeType": "ElementaryTypeName",
                        "src": "3197:6:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_storage_ptr",
                          "typeString": "string"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 2701,
                  "initialValue": null,
                  "nodeType": "VariableDeclarationStatement",
                  "src": "3197:18:10"
                },
                {
                  "assignments": [],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 2703,
                      "name": "status",
                      "nodeType": "VariableDeclaration",
                      "scope": 2849,
                      "src": "3226:20:10",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_memory_ptr",
                        "typeString": "string"
                      },
                      "typeName": {
                        "id": 2702,
                        "name": "string",
                        "nodeType": "ElementaryTypeName",
                        "src": "3226:6:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_storage_ptr",
                          "typeString": "string"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 2704,
                  "initialValue": null,
                  "nodeType": "VariableDeclarationStatement",
                  "src": "3226:20:10"
                },
                {
                  "assignments": [],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 2706,
                      "name": "accountAddress",
                      "nodeType": "VariableDeclaration",
                      "scope": 2849,
                      "src": "3257:22:10",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      },
                      "typeName": {
                        "id": 2705,
                        "name": "address",
                        "nodeType": "ElementaryTypeName",
                        "src": "3257:7:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 2707,
                  "initialValue": null,
                  "nodeType": "VariableDeclarationStatement",
                  "src": "3257:22:10"
                },
                {
                  "assignments": [],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 2709,
                      "name": "major",
                      "nodeType": "VariableDeclaration",
                      "scope": 2849,
                      "src": "3292:10:10",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 2708,
                        "name": "uint",
                        "nodeType": "ElementaryTypeName",
                        "src": "3292:4:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 2710,
                  "initialValue": null,
                  "nodeType": "VariableDeclarationStatement",
                  "src": "3292:10:10"
                },
                {
                  "assignments": [],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 2712,
                      "name": "minor",
                      "nodeType": "VariableDeclaration",
                      "scope": 2849,
                      "src": "3313:10:10",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 2711,
                        "name": "uint",
                        "nodeType": "ElementaryTypeName",
                        "src": "3313:4:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 2713,
                  "initialValue": null,
                  "nodeType": "VariableDeclarationStatement",
                  "src": "3313:10:10"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 2719,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "components": [
                        {
                          "argumentTypes": null,
                          "id": 2714,
                          "name": "major",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 2709,
                          "src": "3335:5:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "id": 2715,
                          "name": "minor",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 2712,
                          "src": "3342:5:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        null
                      ],
                      "id": 2716,
                      "isConstant": false,
                      "isInlineArray": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "TupleExpression",
                      "src": "3334:16:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$__$",
                        "typeString": "tuple(uint256,uint256,)"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [],
                      "expression": {
                        "argumentTypes": [],
                        "id": 2717,
                        "name": "getActiveVersion",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3890,
                        "src": "3353:16:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$_t_uint256_$_t_uint256_$",
                          "typeString": "function () view returns (uint256,uint256,uint256)"
                        }
                      },
                      "id": 2718,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "3353:18:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$",
                        "typeString": "tuple(uint256,uint256,uint256)"
                      }
                    },
                    "src": "3334:37:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 2720,
                  "nodeType": "ExpressionStatement",
                  "src": "3334:37:10"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        "id": 2728,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 2724,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "id": 2722,
                            "name": "major",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2709,
                            "src": "3390:5:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "==",
                          "rightExpression": {
                            "argumentTypes": null,
                            "hexValue": "30",
                            "id": 2723,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "3399:1:10",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_0_by_1",
                              "typeString": "int_const 0"
                            },
                            "value": "0"
                          },
                          "src": "3390:10:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "&&",
                        "rightExpression": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 2727,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "id": 2725,
                            "name": "minor",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2712,
                            "src": "3404:5:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "==",
                          "rightExpression": {
                            "argumentTypes": null,
                            "hexValue": "30",
                            "id": 2726,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "3413:1:10",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_0_by_1",
                              "typeString": "int_const 0"
                            },
                            "value": "0"
                          },
                          "src": "3404:10:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "src": "3390:24:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "4d6967726174696f6e2066726f6d2076657273696f6e73206f74686572207468616e20302e30206973206e6f742065787065637465642e",
                        "id": 2729,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "3416:57:10",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_a5ff088bdbce1ce381bb97ef0a216c466a5d89cd9b3256c363072792dc8830be",
                          "typeString": "literal_string \"Migration from versions other than 0.0 is not expected.\""
                        },
                        "value": "Migration from versions other than 0.0 is not expected."
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_a5ff088bdbce1ce381bb97ef0a216c466a5d89cd9b3256c363072792dc8830be",
                          "typeString": "literal_string \"Migration from versions other than 0.0 is not expected.\""
                        }
                      ],
                      "id": 2721,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        4099,
                        4100
                      ],
                      "referencedDeclaration": 4100,
                      "src": "3382:7:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 2730,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3382:92:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 2731,
                  "nodeType": "ExpressionStatement",
                  "src": "3382:92:10"
                },
                {
                  "assignments": [
                    2733
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 2733,
                      "name": "oldPrivatePreviewMembers",
                      "nodeType": "VariableDeclaration",
                      "scope": 2849,
                      "src": "3487:46:10",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_PrivatePreviewMembers_$1898",
                        "typeString": "contract PrivatePreviewMembers"
                      },
                      "typeName": {
                        "contractScope": null,
                        "id": 2732,
                        "name": "PrivatePreviewMembers",
                        "nodeType": "UserDefinedTypeName",
                        "referencedDeclaration": 1898,
                        "src": "3487:21:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_PrivatePreviewMembers_$1898",
                          "typeString": "contract PrivatePreviewMembers"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 2737,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 2735,
                        "name": "updateFrom",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 9,
                        "src": "3558:10:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      ],
                      "id": 2734,
                      "name": "PrivatePreviewMembers",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 1898,
                      "src": "3536:21:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_type$_t_contract$_PrivatePreviewMembers_$1898_$",
                        "typeString": "type(contract PrivatePreviewMembers)"
                      }
                    },
                    "id": 2736,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "typeConversion",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3536:33:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_PrivatePreviewMembers_$1898",
                      "typeString": "contract PrivatePreviewMembers"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "3487:82:10"
                },
                {
                  "body": {
                    "id": 2846,
                    "nodeType": "Block",
                    "src": "3700:1115:10",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 2757,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "id": 2752,
                            "name": "name",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2694,
                            "src": "3715:4:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "id": 2755,
                                "name": "i",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 2691,
                                "src": "3777:1:10",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "expression": {
                                "argumentTypes": null,
                                "id": 2753,
                                "name": "oldPrivatePreviewMembers",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 2733,
                                "src": "3722:24:10",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_contract$_PrivatePreviewMembers_$1898",
                                  "typeString": "contract PrivatePreviewMembers"
                                }
                              },
                              "id": 2754,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "members_iterator_current_name",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 1772,
                              "src": "3722:54:10",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_string_memory_ptr_$",
                                "typeString": "function (uint256) view external returns (string memory)"
                              }
                            },
                            "id": 2756,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "3722:57:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          },
                          "src": "3715:64:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_string_memory_ptr",
                            "typeString": "string memory"
                          }
                        },
                        "id": 2758,
                        "nodeType": "ExpressionStatement",
                        "src": "3715:64:10"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 2764,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "id": 2759,
                            "name": "subscriptionId",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2697,
                            "src": "3794:14:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "id": 2762,
                                "name": "name",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 2694,
                                "src": "3860:4:10",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_string_memory_ptr",
                                  "typeString": "string memory"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_string_memory_ptr",
                                  "typeString": "string memory"
                                }
                              ],
                              "expression": {
                                "argumentTypes": null,
                                "id": 2760,
                                "name": "oldPrivatePreviewMembers",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 2733,
                                "src": "3811:24:10",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_contract$_PrivatePreviewMembers_$1898",
                                  "typeString": "contract PrivatePreviewMembers"
                                }
                              },
                              "id": 2761,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "getMemberSubscriptionId",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 1788,
                              "src": "3811:48:10",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$",
                                "typeString": "function (string memory) view external returns (string memory)"
                              }
                            },
                            "id": 2763,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "3811:54:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          },
                          "src": "3794:71:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_string_memory_ptr",
                            "typeString": "string memory"
                          }
                        },
                        "id": 2765,
                        "nodeType": "ExpressionStatement",
                        "src": "3794:71:10"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 2771,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "id": 2766,
                            "name": "role",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2700,
                            "src": "3880:4:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "id": 2769,
                                "name": "name",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 2694,
                                "src": "3926:4:10",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_string_memory_ptr",
                                  "typeString": "string memory"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_string_memory_ptr",
                                  "typeString": "string memory"
                                }
                              ],
                              "expression": {
                                "argumentTypes": null,
                                "id": 2767,
                                "name": "oldPrivatePreviewMembers",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 2733,
                                "src": "3887:24:10",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_contract$_PrivatePreviewMembers_$1898",
                                  "typeString": "contract PrivatePreviewMembers"
                                }
                              },
                              "id": 2768,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "getMemberRole",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 1868,
                              "src": "3887:38:10",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$",
                                "typeString": "function (string memory) view external returns (string memory)"
                              }
                            },
                            "id": 2770,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "3887:44:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          },
                          "src": "3880:51:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_string_memory_ptr",
                            "typeString": "string memory"
                          }
                        },
                        "id": 2772,
                        "nodeType": "ExpressionStatement",
                        "src": "3880:51:10"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 2778,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "id": 2773,
                            "name": "status",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2703,
                            "src": "3946:6:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "id": 2776,
                                "name": "name",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 2694,
                                "src": "3996:4:10",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_string_memory_ptr",
                                  "typeString": "string memory"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_string_memory_ptr",
                                  "typeString": "string memory"
                                }
                              ],
                              "expression": {
                                "argumentTypes": null,
                                "id": 2774,
                                "name": "oldPrivatePreviewMembers",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 2733,
                                "src": "3955:24:10",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_contract$_PrivatePreviewMembers_$1898",
                                  "typeString": "contract PrivatePreviewMembers"
                                }
                              },
                              "id": 2775,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "getMemberStatus",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 1884,
                              "src": "3955:40:10",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$",
                                "typeString": "function (string memory) view external returns (string memory)"
                              }
                            },
                            "id": 2777,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "3955:46:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          },
                          "src": "3946:55:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_string_memory_ptr",
                            "typeString": "string memory"
                          }
                        },
                        "id": 2779,
                        "nodeType": "ExpressionStatement",
                        "src": "3946:55:10"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 2785,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "id": 2780,
                            "name": "accountAddress",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2706,
                            "src": "4016:14:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "id": 2783,
                                "name": "name",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 2694,
                                "src": "4075:4:10",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_string_memory_ptr",
                                  "typeString": "string memory"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_string_memory_ptr",
                                  "typeString": "string memory"
                                }
                              ],
                              "expression": {
                                "argumentTypes": null,
                                "id": 2781,
                                "name": "oldPrivatePreviewMembers",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 2733,
                                "src": "4033:24:10",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_contract$_PrivatePreviewMembers_$1898",
                                  "typeString": "contract PrivatePreviewMembers"
                                }
                              },
                              "id": 2782,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "getMemberAccount",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 1820,
                              "src": "4033:41:10",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$returns$_t_address_$",
                                "typeString": "function (string memory) view external returns (address)"
                              }
                            },
                            "id": 2784,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "4033:47:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "src": "4016:64:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "id": 2786,
                        "nodeType": "ExpressionStatement",
                        "src": "4016:64:10"
                      },
                      {
                        "assignments": [
                          2788
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 2788,
                            "name": "isLeftMember",
                            "nodeType": "VariableDeclaration",
                            "scope": 2849,
                            "src": "4095:17:10",
                            "stateVariable": false,
                            "storageLocation": "default",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            },
                            "typeName": {
                              "id": 2787,
                              "name": "bool",
                              "nodeType": "ElementaryTypeName",
                              "src": "4095:4:10",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            },
                            "value": null,
                            "visibility": "internal"
                          }
                        ],
                        "id": 2793,
                        "initialValue": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 2790,
                              "name": "status",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 2703,
                              "src": "4131:6:10",
                              "typeDescriptions": {
                                "typeIdentifier": "t_string_memory_ptr",
                                "typeString": "string memory"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "hexValue": "4c656674",
                              "id": 2791,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "string",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "4139:6:10",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_stringliteral_0b0e4d29377ffa8216bf08fb8ce4983712a2d0fd4423e4503f613a9fe484447e",
                                "typeString": "literal_string \"Left\""
                              },
                              "value": "Left"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_string_memory_ptr",
                                "typeString": "string memory"
                              },
                              {
                                "typeIdentifier": "t_stringliteral_0b0e4d29377ffa8216bf08fb8ce4983712a2d0fd4423e4503f613a9fe484447e",
                                "typeString": "literal_string \"Left\""
                              }
                            ],
                            "id": 2789,
                            "name": "areStringsEqual",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 3927,
                            "src": "4115:15:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$",
                              "typeString": "function (string memory,string memory) pure returns (bool)"
                            }
                          },
                          "id": 2792,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "4115:31:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "4095:51:10"
                      },
                      {
                        "assignments": [
                          2795
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 2795,
                            "name": "isJoinedMember",
                            "nodeType": "VariableDeclaration",
                            "scope": 2849,
                            "src": "4161:19:10",
                            "stateVariable": false,
                            "storageLocation": "default",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            },
                            "typeName": {
                              "id": 2794,
                              "name": "bool",
                              "nodeType": "ElementaryTypeName",
                              "src": "4161:4:10",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            },
                            "value": null,
                            "visibility": "internal"
                          }
                        ],
                        "id": 2800,
                        "initialValue": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 2797,
                              "name": "status",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 2703,
                              "src": "4199:6:10",
                              "typeDescriptions": {
                                "typeIdentifier": "t_string_memory_ptr",
                                "typeString": "string memory"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "hexValue": "5265616479",
                              "id": 2798,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "string",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "4207:7:10",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_stringliteral_ce5ceceb3b018dc53cd7e23daa9f08f268ec71a6dd745acc69b20cd937af5503",
                                "typeString": "literal_string \"Ready\""
                              },
                              "value": "Ready"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_string_memory_ptr",
                                "typeString": "string memory"
                              },
                              {
                                "typeIdentifier": "t_stringliteral_ce5ceceb3b018dc53cd7e23daa9f08f268ec71a6dd745acc69b20cd937af5503",
                                "typeString": "literal_string \"Ready\""
                              }
                            ],
                            "id": 2796,
                            "name": "areStringsEqual",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 3927,
                            "src": "4183:15:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$",
                              "typeString": "function (string memory,string memory) pure returns (bool)"
                            }
                          },
                          "id": 2799,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "4183:32:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "4161:54:10"
                      },
                      {
                        "condition": {
                          "argumentTypes": null,
                          "id": 2801,
                          "name": "isLeftMember",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 2788,
                          "src": "4236:12:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "falseBody": {
                          "condition": {
                            "argumentTypes": null,
                            "commonType": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            },
                            "id": 2808,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "leftExpression": {
                              "argumentTypes": null,
                              "id": 2804,
                              "name": "isJoinedMember",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 2795,
                              "src": "4316:14:10",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            },
                            "nodeType": "BinaryOperation",
                            "operator": "&&",
                            "rightExpression": {
                              "argumentTypes": null,
                              "commonType": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              },
                              "id": 2807,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftExpression": {
                                "argumentTypes": null,
                                "id": 2805,
                                "name": "accountAddress",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 2706,
                                "src": "4334:14:10",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              },
                              "nodeType": "BinaryOperation",
                              "operator": "!=",
                              "rightExpression": {
                                "argumentTypes": null,
                                "hexValue": "30",
                                "id": 2806,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "number",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "4352:1:10",
                                "subdenomination": null,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_rational_0_by_1",
                                  "typeString": "int_const 0"
                                },
                                "value": "0"
                              },
                              "src": "4334:19:10",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            },
                            "src": "4316:37:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          },
                          "falseBody": {
                            "id": 2843,
                            "nodeType": "Block",
                            "src": "4493:311:10",
                            "statements": [
                              {
                                "condition": {
                                  "argumentTypes": null,
                                  "id": 2823,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "nodeType": "UnaryOperation",
                                  "operator": "!",
                                  "prefix": true,
                                  "src": "4516:33:10",
                                  "subExpression": {
                                    "argumentTypes": null,
                                    "arguments": [
                                      {
                                        "argumentTypes": null,
                                        "id": 2821,
                                        "name": "subscriptionId",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 2697,
                                        "src": "4534:14:10",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_string_memory_ptr",
                                          "typeString": "string memory"
                                        }
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_string_memory_ptr",
                                          "typeString": "string memory"
                                        }
                                      ],
                                      "id": 2820,
                                      "name": "existsInvitation",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 3815,
                                      "src": "4517:16:10",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$_t_bool_$",
                                        "typeString": "function (string memory) view returns (bool)"
                                      }
                                    },
                                    "id": 2822,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "functionCall",
                                    "lValueRequested": false,
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "4517:32:10",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bool",
                                      "typeString": "bool"
                                    }
                                  },
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bool",
                                    "typeString": "bool"
                                  }
                                },
                                "falseBody": {
                                  "condition": {
                                    "argumentTypes": null,
                                    "arguments": [
                                      {
                                        "argumentTypes": null,
                                        "id": 2833,
                                        "name": "role",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 2700,
                                        "src": "4693:4:10",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_string_memory_ptr",
                                          "typeString": "string memory"
                                        }
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_string_memory_ptr",
                                          "typeString": "string memory"
                                        }
                                      ],
                                      "id": 2832,
                                      "name": "isAdminRole",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 3903,
                                      "src": "4681:11:10",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_bool_$",
                                        "typeString": "function (string memory) pure returns (bool)"
                                      }
                                    },
                                    "id": 2834,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "functionCall",
                                    "lValueRequested": false,
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "4681:17:10",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bool",
                                      "typeString": "bool"
                                    }
                                  },
                                  "falseBody": null,
                                  "id": 2841,
                                  "nodeType": "IfStatement",
                                  "src": "4677:112:10",
                                  "trueBody": {
                                    "id": 2840,
                                    "nodeType": "Block",
                                    "src": "4700:89:10",
                                    "statements": [
                                      {
                                        "expression": {
                                          "argumentTypes": null,
                                          "arguments": [
                                            {
                                              "argumentTypes": null,
                                              "id": 2836,
                                              "name": "subscriptionId",
                                              "nodeType": "Identifier",
                                              "overloadedDeclarations": [],
                                              "referencedDeclaration": 2697,
                                              "src": "4742:14:10",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_string_memory_ptr",
                                                "typeString": "string memory"
                                              }
                                            },
                                            {
                                              "argumentTypes": null,
                                              "id": 2837,
                                              "name": "ADMIN_ROLE",
                                              "nodeType": "Identifier",
                                              "overloadedDeclarations": [],
                                              "referencedDeclaration": 2566,
                                              "src": "4758:10:10",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_string_memory",
                                                "typeString": "string memory"
                                              }
                                            }
                                          ],
                                          "expression": {
                                            "argumentTypes": [
                                              {
                                                "typeIdentifier": "t_string_memory_ptr",
                                                "typeString": "string memory"
                                              },
                                              {
                                                "typeIdentifier": "t_string_memory",
                                                "typeString": "string memory"
                                              }
                                            ],
                                            "id": 2835,
                                            "name": "_setInvitationRole",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 3801,
                                            "src": "4723:18:10",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$",
                                              "typeString": "function (string memory,string memory)"
                                            }
                                          },
                                          "id": 2838,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "kind": "functionCall",
                                          "lValueRequested": false,
                                          "names": [],
                                          "nodeType": "FunctionCall",
                                          "src": "4723:46:10",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                          }
                                        },
                                        "id": 2839,
                                        "nodeType": "ExpressionStatement",
                                        "src": "4723:46:10"
                                      }
                                    ]
                                  }
                                },
                                "id": 2842,
                                "nodeType": "IfStatement",
                                "src": "4512:277:10",
                                "trueBody": {
                                  "id": 2831,
                                  "nodeType": "Block",
                                  "src": "4551:103:10",
                                  "statements": [
                                    {
                                      "expression": {
                                        "argumentTypes": null,
                                        "arguments": [
                                          {
                                            "argumentTypes": null,
                                            "id": 2825,
                                            "name": "subscriptionId",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 2697,
                                            "src": "4589:14:10",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_string_memory_ptr",
                                              "typeString": "string memory"
                                            }
                                          },
                                          {
                                            "argumentTypes": null,
                                            "id": 2826,
                                            "name": "role",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 2700,
                                            "src": "4605:4:10",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_string_memory_ptr",
                                              "typeString": "string memory"
                                            }
                                          },
                                          {
                                            "argumentTypes": null,
                                            "id": 2828,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "nodeType": "UnaryOperation",
                                            "operator": "++",
                                            "prefix": false,
                                            "src": "4611:22:10",
                                            "subExpression": {
                                              "argumentTypes": null,
                                              "id": 2827,
                                              "name": "correlationIdCounter",
                                              "nodeType": "Identifier",
                                              "overloadedDeclarations": [],
                                              "referencedDeclaration": 2589,
                                              "src": "4611:20:10",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                              }
                                            },
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_uint256",
                                              "typeString": "uint256"
                                            }
                                          }
                                        ],
                                        "expression": {
                                          "argumentTypes": [
                                            {
                                              "typeIdentifier": "t_string_memory_ptr",
                                              "typeString": "string memory"
                                            },
                                            {
                                              "typeIdentifier": "t_string_memory_ptr",
                                              "typeString": "string memory"
                                            },
                                            {
                                              "typeIdentifier": "t_uint256",
                                              "typeString": "uint256"
                                            }
                                          ],
                                          "id": 2824,
                                          "name": "_addInvitation",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 3720,
                                          "src": "4574:14:10",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_uint256_$returns$__$",
                                            "typeString": "function (string memory,string memory,uint256)"
                                          }
                                        },
                                        "id": 2829,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "4574:60:10",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_tuple$__$",
                                          "typeString": "tuple()"
                                        }
                                      },
                                      "id": 2830,
                                      "nodeType": "ExpressionStatement",
                                      "src": "4574:60:10"
                                    }
                                  ]
                                }
                              }
                            ]
                          },
                          "id": 2844,
                          "nodeType": "IfStatement",
                          "src": "4312:492:10",
                          "trueBody": {
                            "id": 2819,
                            "nodeType": "Block",
                            "src": "4355:119:10",
                            "statements": [
                              {
                                "expression": {
                                  "argumentTypes": null,
                                  "arguments": [
                                    {
                                      "argumentTypes": null,
                                      "id": 2810,
                                      "name": "name",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 2694,
                                      "src": "4385:4:10",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string memory"
                                      }
                                    },
                                    {
                                      "argumentTypes": null,
                                      "id": 2811,
                                      "name": "name",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 2694,
                                      "src": "4391:4:10",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string memory"
                                      }
                                    },
                                    {
                                      "argumentTypes": null,
                                      "id": 2812,
                                      "name": "subscriptionId",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 2697,
                                      "src": "4397:14:10",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string memory"
                                      }
                                    },
                                    {
                                      "argumentTypes": null,
                                      "id": 2813,
                                      "name": "role",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 2700,
                                      "src": "4413:4:10",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string memory"
                                      }
                                    },
                                    {
                                      "argumentTypes": null,
                                      "id": 2814,
                                      "name": "accountAddress",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 2706,
                                      "src": "4419:14:10",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                      }
                                    },
                                    {
                                      "argumentTypes": null,
                                      "id": 2816,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "nodeType": "UnaryOperation",
                                      "operator": "++",
                                      "prefix": false,
                                      "src": "4435:22:10",
                                      "subExpression": {
                                        "argumentTypes": null,
                                        "id": 2815,
                                        "name": "correlationIdCounter",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 2589,
                                        "src": "4435:20:10",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        }
                                      },
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": [
                                      {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string memory"
                                      },
                                      {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string memory"
                                      },
                                      {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string memory"
                                      },
                                      {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string memory"
                                      },
                                      {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                      },
                                      {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    ],
                                    "id": 2809,
                                    "name": "_addMember",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 3343,
                                    "src": "4374:10:10",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_address_$_t_uint256_$returns$__$",
                                      "typeString": "function (string memory,string memory,string memory,string memory,address,uint256)"
                                    }
                                  },
                                  "id": 2817,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "kind": "functionCall",
                                  "lValueRequested": false,
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "4374:84:10",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_tuple$__$",
                                    "typeString": "tuple()"
                                  }
                                },
                                "id": 2818,
                                "nodeType": "ExpressionStatement",
                                "src": "4374:84:10"
                              }
                            ]
                          }
                        },
                        "id": 2845,
                        "nodeType": "IfStatement",
                        "src": "4232:572:10",
                        "trueBody": {
                          "id": 2803,
                          "nodeType": "Block",
                          "src": "4250:43:10",
                          "statements": [
                            {
                              "id": 2802,
                              "nodeType": "Continue",
                              "src": "4269:8:10"
                            }
                          ]
                        }
                      }
                    ]
                  },
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 2748,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 2744,
                      "name": "i",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 2691,
                      "src": "3642:1:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "<",
                    "rightExpression": {
                      "argumentTypes": null,
                      "arguments": [],
                      "expression": {
                        "argumentTypes": [],
                        "expression": {
                          "argumentTypes": null,
                          "id": 2745,
                          "name": "oldPrivatePreviewMembers",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 2733,
                          "src": "3646:24:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_contract$_PrivatePreviewMembers_$1898",
                            "typeString": "contract PrivatePreviewMembers"
                          }
                        },
                        "id": 2746,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "members_iterator_end",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 1752,
                        "src": "3646:45:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$",
                          "typeString": "function () view external returns (uint256)"
                        }
                      },
                      "id": 2747,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "3646:47:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "3642:51:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 2847,
                  "initializationExpression": {
                    "expression": {
                      "argumentTypes": null,
                      "id": 2742,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftHandSide": {
                        "argumentTypes": null,
                        "id": 2738,
                        "name": "i",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2691,
                        "src": "3587:1:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "nodeType": "Assignment",
                      "operator": "=",
                      "rightHandSide": {
                        "argumentTypes": null,
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "expression": {
                            "argumentTypes": null,
                            "id": 2739,
                            "name": "oldPrivatePreviewMembers",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2733,
                            "src": "3591:24:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_PrivatePreviewMembers_$1898",
                              "typeString": "contract PrivatePreviewMembers"
                            }
                          },
                          "id": 2740,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "members_iterator_begin",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 1743,
                          "src": "3591:47:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_pure$__$returns$_t_uint256_$",
                            "typeString": "function () pure external returns (uint256)"
                          }
                        },
                        "id": 2741,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "3591:49:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "src": "3587:53:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 2743,
                    "nodeType": "ExpressionStatement",
                    "src": "3587:53:10"
                  },
                  "loopExpression": {
                    "expression": {
                      "argumentTypes": null,
                      "id": 2750,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "UnaryOperation",
                      "operator": "++",
                      "prefix": false,
                      "src": "3695:3:10",
                      "subExpression": {
                        "argumentTypes": null,
                        "id": 2749,
                        "name": "i",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2691,
                        "src": "3695:1:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 2751,
                    "nodeType": "ExpressionStatement",
                    "src": "3695:3:10"
                  },
                  "nodeType": "ForStatement",
                  "src": "3582:1233:10"
                }
              ]
            },
            "documentation": null,
            "id": 2849,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": null,
                "id": 2680,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 2679,
                  "name": "activateAccessControl",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 23,
                  "src": "3004:21:10",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "3004:21:10"
              }
            ],
            "name": "activate",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 2678,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2992:2:10"
            },
            "payable": false,
            "returnParameters": {
              "id": 2681,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "3026:0:10"
            },
            "scope": 3928,
            "src": "2975:1847:10",
            "stateMutability": "nonpayable",
            "superFunction": 52,
            "visibility": "external"
          },
          {
            "body": {
              "id": 2887,
              "nodeType": "Block",
              "src": "5026:284:10",
              "statements": [
                {
                  "assignments": [
                    2863
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 2863,
                      "name": "role",
                      "nodeType": "VariableDeclaration",
                      "scope": 2888,
                      "src": "5037:18:10",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_memory_ptr",
                        "typeString": "string"
                      },
                      "typeName": {
                        "id": 2862,
                        "name": "string",
                        "nodeType": "ElementaryTypeName",
                        "src": "5037:6:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_storage_ptr",
                          "typeString": "string"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 2867,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 2865,
                        "name": "_subscriptionId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2855,
                        "src": "5076:15:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      ],
                      "id": 2864,
                      "name": "getInvitationRole",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 3213,
                      "src": "5058:17:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$",
                        "typeString": "function (string memory) view returns (string memory)"
                      }
                    },
                    "id": 2866,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5058:34:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory_ptr",
                      "typeString": "string memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "5037:55:10"
                },
                {
                  "assignments": [
                    2869
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 2869,
                      "name": "correlationId",
                      "nodeType": "VariableDeclaration",
                      "scope": 2888,
                      "src": "5103:18:10",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 2868,
                        "name": "uint",
                        "nodeType": "ElementaryTypeName",
                        "src": "5103:4:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 2873,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 2871,
                        "name": "_subscriptionId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2855,
                        "src": "5151:15:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      ],
                      "id": 2870,
                      "name": "getInvitationCorrelationId",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 3233,
                      "src": "5124:26:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$_t_uint256_$",
                        "typeString": "function (string memory) view returns (uint256)"
                      }
                    },
                    "id": 2872,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5124:43:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "5103:64:10"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 2875,
                        "name": "_subscriptionId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2855,
                        "src": "5196:15:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      ],
                      "id": 2874,
                      "name": "_removeInvitation",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 3779,
                      "src": "5178:17:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (string memory)"
                      }
                    },
                    "id": 2876,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5178:34:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 2877,
                  "nodeType": "ExpressionStatement",
                  "src": "5178:34:10"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 2879,
                        "name": "_name",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2851,
                        "src": "5234:5:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 2880,
                        "name": "_displayName",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2853,
                        "src": "5241:12:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 2881,
                        "name": "_subscriptionId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2855,
                        "src": "5255:15:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 2882,
                        "name": "role",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2863,
                        "src": "5272:4:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 2883,
                        "name": "_account",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2857,
                        "src": "5278:8:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 2884,
                        "name": "correlationId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2869,
                        "src": "5288:13:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        },
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        },
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        },
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 2878,
                      "name": "_addMember",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 3343,
                      "src": "5223:10:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_address_$_t_uint256_$returns$__$",
                        "typeString": "function (string memory,string memory,string memory,string memory,address,uint256)"
                      }
                    },
                    "id": 2885,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5223:79:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 2886,
                  "nodeType": "ExpressionStatement",
                  "src": "5223:79:10"
                }
              ]
            },
            "documentation": null,
            "id": 2888,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": null,
                "id": 2860,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 2859,
                  "name": "isFromOperator",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 2608,
                  "src": "5006:14:10",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "5006:14:10"
              }
            ],
            "name": "addMember",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 2858,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2851,
                  "name": "_name",
                  "nodeType": "VariableDeclaration",
                  "scope": 2888,
                  "src": "4859:19:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 2850,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "4859:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2853,
                  "name": "_displayName",
                  "nodeType": "VariableDeclaration",
                  "scope": 2888,
                  "src": "4889:26:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 2852,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "4889:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2855,
                  "name": "_subscriptionId",
                  "nodeType": "VariableDeclaration",
                  "scope": 2888,
                  "src": "4926:29:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 2854,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "4926:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2857,
                  "name": "_account",
                  "nodeType": "VariableDeclaration",
                  "scope": 2888,
                  "src": "4966:16:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 2856,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "4966:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "4848:141:10"
            },
            "payable": false,
            "returnParameters": {
              "id": 2861,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "5026:0:10"
            },
            "scope": 3928,
            "src": "4830:480:10",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 2913,
              "nodeType": "Block",
              "src": "5547:108:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 2904,
                        "name": "_name",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2890,
                        "src": "5569:5:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 2905,
                        "name": "_displayName",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2892,
                        "src": "5576:12:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 2906,
                        "name": "_subscriptionId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2894,
                        "src": "5590:15:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 2907,
                        "name": "_role",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2896,
                        "src": "5607:5:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 2908,
                        "name": "_account",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2898,
                        "src": "5614:8:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 2910,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "UnaryOperation",
                        "operator": "++",
                        "prefix": false,
                        "src": "5624:22:10",
                        "subExpression": {
                          "argumentTypes": null,
                          "id": 2909,
                          "name": "correlationIdCounter",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 2589,
                          "src": "5624:20:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        },
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        },
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        },
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 2903,
                      "name": "_addMember",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 3343,
                      "src": "5558:10:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_address_$_t_uint256_$returns$__$",
                        "typeString": "function (string memory,string memory,string memory,string memory,address,uint256)"
                      }
                    },
                    "id": 2911,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5558:89:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 2912,
                  "nodeType": "ExpressionStatement",
                  "src": "5558:89:10"
                }
              ]
            },
            "documentation": null,
            "id": 2914,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": null,
                "id": 2901,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 2900,
                  "name": "isFromOperator",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 2608,
                  "src": "5527:14:10",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "5527:14:10"
              }
            ],
            "name": "injectMember",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 2899,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2890,
                  "name": "_name",
                  "nodeType": "VariableDeclaration",
                  "scope": 2914,
                  "src": "5350:19:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 2889,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "5350:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2892,
                  "name": "_displayName",
                  "nodeType": "VariableDeclaration",
                  "scope": 2914,
                  "src": "5380:26:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 2891,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "5380:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2894,
                  "name": "_subscriptionId",
                  "nodeType": "VariableDeclaration",
                  "scope": 2914,
                  "src": "5417:29:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 2893,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "5417:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2896,
                  "name": "_role",
                  "nodeType": "VariableDeclaration",
                  "scope": 2914,
                  "src": "5457:19:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 2895,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "5457:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2898,
                  "name": "_account",
                  "nodeType": "VariableDeclaration",
                  "scope": 2914,
                  "src": "5487:16:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 2897,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "5487:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "5339:171:10"
            },
            "payable": false,
            "returnParameters": {
              "id": 2902,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "5547:0:10"
            },
            "scope": 3928,
            "src": "5318:337:10",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 2942,
              "nodeType": "Block",
              "src": "5713:302:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        "id": 2934,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          },
                          "id": 2929,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "expression": {
                                  "argumentTypes": null,
                                  "id": 2921,
                                  "name": "msg",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 4096,
                                  "src": "5761:3:10",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_magic_message",
                                    "typeString": "msg"
                                  }
                                },
                                "id": 2922,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "sender",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": null,
                                "src": "5761:10:10",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              ],
                              "id": 2920,
                              "name": "isAdminAddress",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 3660,
                              "src": "5746:14:10",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$",
                                "typeString": "function (address) view returns (bool)"
                              }
                            },
                            "id": 2923,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "5746:26:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "||",
                          "rightExpression": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "expression": {
                                  "argumentTypes": null,
                                  "id": 2925,
                                  "name": "msg",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 4096,
                                  "src": "5808:3:10",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_magic_message",
                                    "typeString": "msg"
                                  }
                                },
                                "id": 2926,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "sender",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": null,
                                "src": "5808:10:10",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "id": 2927,
                                "name": "_name",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 2916,
                                "src": "5820:5:10",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_string_memory_ptr",
                                  "typeString": "string memory"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                },
                                {
                                  "typeIdentifier": "t_string_memory_ptr",
                                  "typeString": "string memory"
                                }
                              ],
                              "id": 2924,
                              "name": "isAddressOfMember",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 3685,
                              "src": "5790:17:10",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_view$_t_address_$_t_string_memory_ptr_$returns$_t_bool_$",
                                "typeString": "function (address,string memory) view returns (bool)"
                              }
                            },
                            "id": 2928,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "5790:36:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          },
                          "src": "5746:80:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "||",
                        "rightExpression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "expression": {
                                "argumentTypes": null,
                                "id": 2931,
                                "name": "msg",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 4096,
                                "src": "5862:3:10",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_magic_message",
                                  "typeString": "msg"
                                }
                              },
                              "id": 2932,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "sender",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": null,
                              "src": "5862:10:10",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            ],
                            "id": 2930,
                            "name": "isOperatorAddress",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 3843,
                            "src": "5844:17:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$",
                              "typeString": "function (address) view returns (bool)"
                            }
                          },
                          "id": 2933,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "5844:29:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "src": "5746:127:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "4f6e6c79207065726d69747320696e766f636174696f6e2066726f6d2061646d696e732c20746865206d656d626572207468656d73656c766573206f7220746865206f70657261746f722e",
                        "id": 2935,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "5888:77:10",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_a78414d0e07811c12d60690fa3c927a8d5a4c2bcd721a3a974b3cf5fb477c67c",
                          "typeString": "literal_string \"Only permits invocation from admins, the member themselves or the operator.\""
                        },
                        "value": "Only permits invocation from admins, the member themselves or the operator."
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_a78414d0e07811c12d60690fa3c927a8d5a4c2bcd721a3a974b3cf5fb477c67c",
                          "typeString": "literal_string \"Only permits invocation from admins, the member themselves or the operator.\""
                        }
                      ],
                      "id": 2919,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        4099,
                        4100
                      ],
                      "referencedDeclaration": 4100,
                      "src": "5724:7:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 2936,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5724:252:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 2937,
                  "nodeType": "ExpressionStatement",
                  "src": "5724:252:10"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 2939,
                        "name": "_name",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2916,
                        "src": "6001:5:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      ],
                      "id": 2938,
                      "name": "_removeMember",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 3451,
                      "src": "5987:13:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (string memory)"
                      }
                    },
                    "id": 2940,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5987:20:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 2941,
                  "nodeType": "ExpressionStatement",
                  "src": "5987:20:10"
                }
              ]
            },
            "documentation": null,
            "id": 2943,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "removeMember",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 2917,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2916,
                  "name": "_name",
                  "nodeType": "VariableDeclaration",
                  "scope": 2943,
                  "src": "5685:19:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 2915,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "5685:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "5684:21:10"
            },
            "payable": false,
            "returnParameters": {
              "id": 2918,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "5713:0:10"
            },
            "scope": 3928,
            "src": "5663:352:10",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 2957,
              "nodeType": "Block",
              "src": "6110:53:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 2953,
                        "name": "_name",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2945,
                        "src": "6139:5:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 2954,
                        "name": "_account",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2947,
                        "src": "6146:8:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      ],
                      "id": 2952,
                      "name": "_setMemberAccount",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 3514,
                      "src": "6121:17:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_address_$returns$__$",
                        "typeString": "function (string memory,address)"
                      }
                    },
                    "id": 2955,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "6121:34:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 2956,
                  "nodeType": "ExpressionStatement",
                  "src": "6121:34:10"
                }
              ]
            },
            "documentation": null,
            "id": 2958,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": null,
                "id": 2950,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 2949,
                  "name": "isFromOperator",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 2608,
                  "src": "6095:14:10",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "6095:14:10"
              }
            ],
            "name": "setMemberAccount",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 2948,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2945,
                  "name": "_name",
                  "nodeType": "VariableDeclaration",
                  "scope": 2958,
                  "src": "6049:19:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 2944,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "6049:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2947,
                  "name": "_account",
                  "nodeType": "VariableDeclaration",
                  "scope": 2958,
                  "src": "6070:16:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 2946,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "6070:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "6048:39:10"
            },
            "payable": false,
            "returnParameters": {
              "id": 2951,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "6110:0:10"
            },
            "scope": 3928,
            "src": "6023:140:10",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 2982,
              "nodeType": "Block",
              "src": "6298:86:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 2980,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 2971,
                          "name": "memberList",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 2585,
                          "src": "6309:10:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_struct$_Member_$2556_storage_$dyn_storage",
                            "typeString": "struct Members.Member storage ref[] storage ref"
                          }
                        },
                        "id": 2977,
                        "indexExpression": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 2976,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 2972,
                              "name": "memberIndexByName",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 2578,
                              "src": "6320:17:10",
                              "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_string_memory_$_t_uint256_$",
                                "typeString": "mapping(string memory => uint256)"
                              }
                            },
                            "id": 2974,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 2973,
                              "name": "_name",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 2960,
                              "src": "6338:5:10",
                              "typeDescriptions": {
                                "typeIdentifier": "t_string_memory_ptr",
                                "typeString": "string memory"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "6320:24:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "-",
                          "rightExpression": {
                            "argumentTypes": null,
                            "hexValue": "31",
                            "id": 2975,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "6347:1:10",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_1_by_1",
                              "typeString": "int_const 1"
                            },
                            "value": "1"
                          },
                          "src": "6320:28:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "6309:40:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Member_$2556_storage",
                          "typeString": "struct Members.Member storage ref"
                        }
                      },
                      "id": 2978,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "displayName",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 2547,
                      "src": "6309:52:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_storage",
                        "typeString": "string storage ref"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 2979,
                      "name": "_displayName",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 2962,
                      "src": "6364:12:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_memory_ptr",
                        "typeString": "string memory"
                      }
                    },
                    "src": "6309:67:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage",
                      "typeString": "string storage ref"
                    }
                  },
                  "id": 2981,
                  "nodeType": "ExpressionStatement",
                  "src": "6309:67:10"
                }
              ]
            },
            "documentation": null,
            "id": 2983,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "id": 2965,
                    "name": "_name",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 2960,
                    "src": "6268:5:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory_ptr",
                      "typeString": "string memory"
                    }
                  }
                ],
                "id": 2966,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 2964,
                  "name": "isFromSelf",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 2635,
                  "src": "6257:10:10",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$_t_string_memory_ptr_$",
                    "typeString": "modifier (string memory)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "6257:17:10"
              },
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "id": 2968,
                    "name": "_name",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 2960,
                    "src": "6291:5:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory_ptr",
                      "typeString": "string memory"
                    }
                  }
                ],
                "id": 2969,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 2967,
                  "name": "isMemberExisted",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 2648,
                  "src": "6275:15:10",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$_t_string_memory_ptr_$",
                    "typeString": "modifier (string memory)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "6275:22:10"
              }
            ],
            "name": "setMemberDisplayName",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 2963,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2960,
                  "name": "_name",
                  "nodeType": "VariableDeclaration",
                  "scope": 2983,
                  "src": "6201:19:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 2959,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "6201:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2962,
                  "name": "_displayName",
                  "nodeType": "VariableDeclaration",
                  "scope": 2983,
                  "src": "6222:26:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 2961,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "6222:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "6200:49:10"
            },
            "payable": false,
            "returnParameters": {
              "id": 2970,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "6298:0:10"
            },
            "scope": 3928,
            "src": "6171:213:10",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 2997,
              "nodeType": "Block",
              "src": "6476:47:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 2993,
                        "name": "_name",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2985,
                        "src": "6502:5:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 2994,
                        "name": "_role",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2987,
                        "src": "6509:5:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        },
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      ],
                      "id": 2992,
                      "name": "_setMemberRole",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 3582,
                      "src": "6487:14:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (string memory,string memory)"
                      }
                    },
                    "id": 2995,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "6487:28:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 2996,
                  "nodeType": "ExpressionStatement",
                  "src": "6487:28:10"
                }
              ]
            },
            "documentation": null,
            "id": 2998,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": null,
                "id": 2990,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 2989,
                  "name": "isFromAdmin",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 2620,
                  "src": "6464:11:10",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "6464:11:10"
              }
            ],
            "name": "setMemberRole",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 2988,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2985,
                  "name": "_name",
                  "nodeType": "VariableDeclaration",
                  "scope": 2998,
                  "src": "6415:19:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 2984,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "6415:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2987,
                  "name": "_role",
                  "nodeType": "VariableDeclaration",
                  "scope": 2998,
                  "src": "6436:19:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 2986,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "6436:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "6414:42:10"
            },
            "payable": false,
            "returnParameters": {
              "id": 2991,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "6476:0:10"
            },
            "scope": 3928,
            "src": "6392:131:10",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 3017,
              "nodeType": "Block",
              "src": "6644:81:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "expression": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 3008,
                        "name": "memberList",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2585,
                        "src": "6662:10:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_Member_$2556_storage_$dyn_storage",
                          "typeString": "struct Members.Member storage ref[] storage ref"
                        }
                      },
                      "id": 3014,
                      "indexExpression": {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 3013,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "id": 3009,
                            "name": "memberIndexByName",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2578,
                            "src": "6673:17:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_mapping$_t_string_memory_$_t_uint256_$",
                              "typeString": "mapping(string memory => uint256)"
                            }
                          },
                          "id": 3011,
                          "indexExpression": {
                            "argumentTypes": null,
                            "id": 3010,
                            "name": "_name",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 3000,
                            "src": "6691:5:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "6673:24:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "-",
                        "rightExpression": {
                          "argumentTypes": null,
                          "hexValue": "31",
                          "id": 3012,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "6700:1:10",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_1_by_1",
                            "typeString": "int_const 1"
                          },
                          "value": "1"
                        },
                        "src": "6673:28:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "IndexAccess",
                      "src": "6662:40:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Member_$2556_storage",
                        "typeString": "struct Members.Member storage ref"
                      }
                    },
                    "id": 3015,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberName": "subscriptionId",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": 2549,
                    "src": "6662:55:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage",
                      "typeString": "string storage ref"
                    }
                  },
                  "functionReturnParameters": 3007,
                  "id": 3016,
                  "nodeType": "Return",
                  "src": "6655:62:10"
                }
              ]
            },
            "documentation": null,
            "id": 3018,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "id": 3003,
                    "name": "_name",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 3000,
                    "src": "6613:5:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory_ptr",
                      "typeString": "string memory"
                    }
                  }
                ],
                "id": 3004,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 3002,
                  "name": "isMemberExisted",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 2648,
                  "src": "6597:15:10",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$_t_string_memory_ptr_$",
                    "typeString": "modifier (string memory)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "6597:22:10"
              }
            ],
            "name": "getMemberSubscriptionId",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3001,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3000,
                  "name": "_name",
                  "nodeType": "VariableDeclaration",
                  "scope": 3018,
                  "src": "6564:19:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 2999,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "6564:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "6563:21:10"
            },
            "payable": false,
            "returnParameters": {
              "id": 3007,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3006,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 3018,
                  "src": "6629:6:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 3005,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "6629:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "6628:15:10"
            },
            "scope": 3928,
            "src": "6531:194:10",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 3037,
              "nodeType": "Block",
              "src": "6833:74:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "expression": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 3028,
                        "name": "memberList",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2585,
                        "src": "6851:10:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_Member_$2556_storage_$dyn_storage",
                          "typeString": "struct Members.Member storage ref[] storage ref"
                        }
                      },
                      "id": 3034,
                      "indexExpression": {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 3033,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "id": 3029,
                            "name": "memberIndexByName",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2578,
                            "src": "6862:17:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_mapping$_t_string_memory_$_t_uint256_$",
                              "typeString": "mapping(string memory => uint256)"
                            }
                          },
                          "id": 3031,
                          "indexExpression": {
                            "argumentTypes": null,
                            "id": 3030,
                            "name": "_name",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 3020,
                            "src": "6880:5:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "6862:24:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "-",
                        "rightExpression": {
                          "argumentTypes": null,
                          "hexValue": "31",
                          "id": 3032,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "6889:1:10",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_1_by_1",
                            "typeString": "int_const 1"
                          },
                          "value": "1"
                        },
                        "src": "6862:28:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "IndexAccess",
                      "src": "6851:40:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Member_$2556_storage",
                        "typeString": "struct Members.Member storage ref"
                      }
                    },
                    "id": 3035,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberName": "account",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": 2553,
                    "src": "6851:48:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "functionReturnParameters": 3027,
                  "id": 3036,
                  "nodeType": "Return",
                  "src": "6844:55:10"
                }
              ]
            },
            "documentation": null,
            "id": 3038,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "id": 3023,
                    "name": "_name",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 3020,
                    "src": "6808:5:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory_ptr",
                      "typeString": "string memory"
                    }
                  }
                ],
                "id": 3024,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 3022,
                  "name": "isMemberExisted",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 2648,
                  "src": "6792:15:10",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$_t_string_memory_ptr_$",
                    "typeString": "modifier (string memory)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "6792:22:10"
              }
            ],
            "name": "getMemberAccount",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3021,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3020,
                  "name": "_name",
                  "nodeType": "VariableDeclaration",
                  "scope": 3038,
                  "src": "6759:19:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 3019,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "6759:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "6758:21:10"
            },
            "payable": false,
            "returnParameters": {
              "id": 3027,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3026,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 3038,
                  "src": "6824:7:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 3025,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "6824:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "6823:9:10"
            },
            "scope": 3928,
            "src": "6733:174:10",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 3057,
              "nodeType": "Block",
              "src": "7025:78:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "expression": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 3048,
                        "name": "memberList",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2585,
                        "src": "7043:10:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_Member_$2556_storage_$dyn_storage",
                          "typeString": "struct Members.Member storage ref[] storage ref"
                        }
                      },
                      "id": 3054,
                      "indexExpression": {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 3053,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "id": 3049,
                            "name": "memberIndexByName",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2578,
                            "src": "7054:17:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_mapping$_t_string_memory_$_t_uint256_$",
                              "typeString": "mapping(string memory => uint256)"
                            }
                          },
                          "id": 3051,
                          "indexExpression": {
                            "argumentTypes": null,
                            "id": 3050,
                            "name": "_name",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 3040,
                            "src": "7072:5:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "7054:24:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "-",
                        "rightExpression": {
                          "argumentTypes": null,
                          "hexValue": "31",
                          "id": 3052,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "7081:1:10",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_1_by_1",
                            "typeString": "int_const 1"
                          },
                          "value": "1"
                        },
                        "src": "7054:28:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "IndexAccess",
                      "src": "7043:40:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Member_$2556_storage",
                        "typeString": "struct Members.Member storage ref"
                      }
                    },
                    "id": 3055,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberName": "displayName",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": 2547,
                    "src": "7043:52:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage",
                      "typeString": "string storage ref"
                    }
                  },
                  "functionReturnParameters": 3047,
                  "id": 3056,
                  "nodeType": "Return",
                  "src": "7036:59:10"
                }
              ]
            },
            "documentation": null,
            "id": 3058,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "id": 3043,
                    "name": "_name",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 3040,
                    "src": "6994:5:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory_ptr",
                      "typeString": "string memory"
                    }
                  }
                ],
                "id": 3044,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 3042,
                  "name": "isMemberExisted",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 2648,
                  "src": "6978:15:10",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$_t_string_memory_ptr_$",
                    "typeString": "modifier (string memory)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "6978:22:10"
              }
            ],
            "name": "getMemberDisplayName",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3041,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3040,
                  "name": "_name",
                  "nodeType": "VariableDeclaration",
                  "scope": 3058,
                  "src": "6945:19:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 3039,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "6945:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "6944:21:10"
            },
            "payable": false,
            "returnParameters": {
              "id": 3047,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3046,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 3058,
                  "src": "7010:6:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 3045,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "7010:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "7009:15:10"
            },
            "scope": 3928,
            "src": "6915:188:10",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 3077,
              "nodeType": "Block",
              "src": "7214:71:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "expression": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 3068,
                        "name": "memberList",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2585,
                        "src": "7232:10:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_Member_$2556_storage_$dyn_storage",
                          "typeString": "struct Members.Member storage ref[] storage ref"
                        }
                      },
                      "id": 3074,
                      "indexExpression": {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 3073,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "id": 3069,
                            "name": "memberIndexByName",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2578,
                            "src": "7243:17:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_mapping$_t_string_memory_$_t_uint256_$",
                              "typeString": "mapping(string memory => uint256)"
                            }
                          },
                          "id": 3071,
                          "indexExpression": {
                            "argumentTypes": null,
                            "id": 3070,
                            "name": "_name",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 3060,
                            "src": "7261:5:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "7243:24:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "-",
                        "rightExpression": {
                          "argumentTypes": null,
                          "hexValue": "31",
                          "id": 3072,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "7270:1:10",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_1_by_1",
                            "typeString": "int_const 1"
                          },
                          "value": "1"
                        },
                        "src": "7243:28:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "IndexAccess",
                      "src": "7232:40:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Member_$2556_storage",
                        "typeString": "struct Members.Member storage ref"
                      }
                    },
                    "id": 3075,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberName": "role",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": 2551,
                    "src": "7232:45:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage",
                      "typeString": "string storage ref"
                    }
                  },
                  "functionReturnParameters": 3067,
                  "id": 3076,
                  "nodeType": "Return",
                  "src": "7225:52:10"
                }
              ]
            },
            "documentation": null,
            "id": 3078,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "id": 3063,
                    "name": "_name",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 3060,
                    "src": "7183:5:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory_ptr",
                      "typeString": "string memory"
                    }
                  }
                ],
                "id": 3064,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 3062,
                  "name": "isMemberExisted",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 2648,
                  "src": "7167:15:10",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$_t_string_memory_ptr_$",
                    "typeString": "modifier (string memory)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "7167:22:10"
              }
            ],
            "name": "getMemberRole",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3061,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3060,
                  "name": "_name",
                  "nodeType": "VariableDeclaration",
                  "scope": 3078,
                  "src": "7134:19:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 3059,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "7134:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "7133:21:10"
            },
            "payable": false,
            "returnParameters": {
              "id": 3067,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3066,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 3078,
                  "src": "7199:6:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 3065,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "7199:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "7198:15:10"
            },
            "scope": 3928,
            "src": "7111:174:10",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 3090,
              "nodeType": "Block",
              "src": "7398:33:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "hexValue": "5265616479",
                    "id": 3088,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": true,
                    "kind": "string",
                    "lValueRequested": false,
                    "nodeType": "Literal",
                    "src": "7416:7:10",
                    "subdenomination": null,
                    "typeDescriptions": {
                      "typeIdentifier": "t_stringliteral_ce5ceceb3b018dc53cd7e23daa9f08f268ec71a6dd745acc69b20cd937af5503",
                      "typeString": "literal_string \"Ready\""
                    },
                    "value": "Ready"
                  },
                  "functionReturnParameters": 3087,
                  "id": 3089,
                  "nodeType": "Return",
                  "src": "7409:14:10"
                }
              ]
            },
            "documentation": null,
            "id": 3091,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "id": 3083,
                    "name": "_name",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 3080,
                    "src": "7367:5:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory_ptr",
                      "typeString": "string memory"
                    }
                  }
                ],
                "id": 3084,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 3082,
                  "name": "isMemberExisted",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 2648,
                  "src": "7351:15:10",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$_t_string_memory_ptr_$",
                    "typeString": "modifier (string memory)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "7351:22:10"
              }
            ],
            "name": "getMemberStatus",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3081,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3080,
                  "name": "_name",
                  "nodeType": "VariableDeclaration",
                  "scope": 3091,
                  "src": "7318:19:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 3079,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "7318:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "7317:21:10"
            },
            "payable": false,
            "returnParameters": {
              "id": 3087,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3086,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 3091,
                  "src": "7383:6:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 3085,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "7383:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "7382:15:10"
            },
            "scope": 3928,
            "src": "7293:138:10",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 3110,
              "nodeType": "Block",
              "src": "7542:80:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "expression": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 3101,
                        "name": "memberList",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2585,
                        "src": "7560:10:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_Member_$2556_storage_$dyn_storage",
                          "typeString": "struct Members.Member storage ref[] storage ref"
                        }
                      },
                      "id": 3107,
                      "indexExpression": {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 3106,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "id": 3102,
                            "name": "memberIndexByName",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2578,
                            "src": "7571:17:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_mapping$_t_string_memory_$_t_uint256_$",
                              "typeString": "mapping(string memory => uint256)"
                            }
                          },
                          "id": 3104,
                          "indexExpression": {
                            "argumentTypes": null,
                            "id": 3103,
                            "name": "_name",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 3093,
                            "src": "7589:5:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "7571:24:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "-",
                        "rightExpression": {
                          "argumentTypes": null,
                          "hexValue": "31",
                          "id": 3105,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "7598:1:10",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_1_by_1",
                            "typeString": "int_const 1"
                          },
                          "value": "1"
                        },
                        "src": "7571:28:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "IndexAccess",
                      "src": "7560:40:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Member_$2556_storage",
                        "typeString": "struct Members.Member storage ref"
                      }
                    },
                    "id": 3108,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberName": "correlationId",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": 2555,
                    "src": "7560:54:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 3100,
                  "id": 3109,
                  "nodeType": "Return",
                  "src": "7553:61:10"
                }
              ]
            },
            "documentation": null,
            "id": 3111,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "id": 3096,
                    "name": "_name",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 3093,
                    "src": "7520:5:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory_ptr",
                      "typeString": "string memory"
                    }
                  }
                ],
                "id": 3097,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 3095,
                  "name": "isMemberExisted",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 2648,
                  "src": "7504:15:10",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$_t_string_memory_ptr_$",
                    "typeString": "modifier (string memory)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "7504:22:10"
              }
            ],
            "name": "getMemberCorrelationId",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3094,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3093,
                  "name": "_name",
                  "nodeType": "VariableDeclaration",
                  "scope": 3111,
                  "src": "7471:19:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 3092,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "7471:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "7470:21:10"
            },
            "payable": false,
            "returnParameters": {
              "id": 3100,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3099,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 3111,
                  "src": "7536:4:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 3098,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "7536:4:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "7535:6:10"
            },
            "scope": 3928,
            "src": "7439:183:10",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 3118,
              "nodeType": "Block",
              "src": "7682:36:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 3116,
                    "name": "adminCount",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 2587,
                    "src": "7700:10:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 3115,
                  "id": 3117,
                  "nodeType": "Return",
                  "src": "7693:17:10"
                }
              ]
            },
            "documentation": null,
            "id": 3119,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "getAdminCount",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3112,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "7652:2:10"
            },
            "payable": false,
            "returnParameters": {
              "id": 3115,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3114,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 3119,
                  "src": "7676:4:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 3113,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "7676:4:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "7675:6:10"
            },
            "scope": 3928,
            "src": "7630:88:10",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 3127,
              "nodeType": "Block",
              "src": "7779:43:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "expression": {
                      "argumentTypes": null,
                      "id": 3124,
                      "name": "memberList",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 2585,
                      "src": "7797:10:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_struct$_Member_$2556_storage_$dyn_storage",
                        "typeString": "struct Members.Member storage ref[] storage ref"
                      }
                    },
                    "id": 3125,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberName": "length",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": null,
                    "src": "7797:17:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 3123,
                  "id": 3126,
                  "nodeType": "Return",
                  "src": "7790:24:10"
                }
              ]
            },
            "documentation": null,
            "id": 3128,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "getMemberCount",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3120,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "7749:2:10"
            },
            "payable": false,
            "returnParameters": {
              "id": 3123,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3122,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 3128,
                  "src": "7773:4:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 3121,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "7773:4:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "7772:6:10"
            },
            "scope": 3928,
            "src": "7726:96:10",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 3148,
              "nodeType": "Block",
              "src": "7911:129:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 3139,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "id": 3136,
                          "name": "iterator",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3130,
                          "src": "7930:8:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "<",
                        "rightExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 3137,
                            "name": "memberList",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2585,
                            "src": "7941:10:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_struct$_Member_$2556_storage_$dyn_storage",
                              "typeString": "struct Members.Member storage ref[] storage ref"
                            }
                          },
                          "id": 3138,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "length",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "7941:17:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "src": "7930:28:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "496e76616c6964206974657261746f7220737570706c6965642e",
                        "id": 3140,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "7960:28:10",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_d3f3c6d6cacdfe55fb03c0a51a1c170a2d711ed77d44f573f52b0f0aa9d19d1f",
                          "typeString": "literal_string \"Invalid iterator supplied.\""
                        },
                        "value": "Invalid iterator supplied."
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_d3f3c6d6cacdfe55fb03c0a51a1c170a2d711ed77d44f573f52b0f0aa9d19d1f",
                          "typeString": "literal_string \"Invalid iterator supplied.\""
                        }
                      ],
                      "id": 3135,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        4099,
                        4100
                      ],
                      "referencedDeclaration": 4100,
                      "src": "7922:7:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 3141,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "7922:67:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 3142,
                  "nodeType": "ExpressionStatement",
                  "src": "7922:67:10"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "expression": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 3143,
                        "name": "memberList",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2585,
                        "src": "8007:10:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_Member_$2556_storage_$dyn_storage",
                          "typeString": "struct Members.Member storage ref[] storage ref"
                        }
                      },
                      "id": 3145,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 3144,
                        "name": "iterator",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3130,
                        "src": "8018:8:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "IndexAccess",
                      "src": "8007:20:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Member_$2556_storage",
                        "typeString": "struct Members.Member storage ref"
                      }
                    },
                    "id": 3146,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberName": "name",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": 2545,
                    "src": "8007:25:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage",
                      "typeString": "string storage ref"
                    }
                  },
                  "functionReturnParameters": 3134,
                  "id": 3147,
                  "nodeType": "Return",
                  "src": "8000:32:10"
                }
              ]
            },
            "documentation": null,
            "id": 3149,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "getMemberNameAtIndex",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3131,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3130,
                  "name": "iterator",
                  "nodeType": "VariableDeclaration",
                  "scope": 3149,
                  "src": "7860:13:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 3129,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "7860:4:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "7859:15:10"
            },
            "payable": false,
            "returnParameters": {
              "id": 3134,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3133,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 3149,
                  "src": "7896:6:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 3132,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "7896:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "7895:15:10"
            },
            "scope": 3928,
            "src": "7830:210:10",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 3165,
              "nodeType": "Block",
              "src": "8148:81:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 3159,
                        "name": "_subscriptionId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3151,
                        "src": "8174:15:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 3160,
                        "name": "_role",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3153,
                        "src": "8191:5:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 3162,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "UnaryOperation",
                        "operator": "++",
                        "prefix": false,
                        "src": "8198:22:10",
                        "subExpression": {
                          "argumentTypes": null,
                          "id": 3161,
                          "name": "correlationIdCounter",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 2589,
                          "src": "8198:20:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        },
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 3158,
                      "name": "_addInvitation",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 3720,
                      "src": "8159:14:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_uint256_$returns$__$",
                        "typeString": "function (string memory,string memory,uint256)"
                      }
                    },
                    "id": 3163,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "8159:62:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 3164,
                  "nodeType": "ExpressionStatement",
                  "src": "8159:62:10"
                }
              ]
            },
            "documentation": null,
            "id": 3166,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": null,
                "id": 3156,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 3155,
                  "name": "isFromAdmin",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 2620,
                  "src": "8131:11:10",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "8131:11:10"
              }
            ],
            "name": "inviteMember",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3154,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3151,
                  "name": "_subscriptionId",
                  "nodeType": "VariableDeclaration",
                  "scope": 3166,
                  "src": "8072:29:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 3150,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "8072:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3153,
                  "name": "_role",
                  "nodeType": "VariableDeclaration",
                  "scope": 3166,
                  "src": "8103:19:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 3152,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "8103:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "8071:52:10"
            },
            "payable": false,
            "returnParameters": {
              "id": 3157,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "8148:0:10"
            },
            "scope": 3928,
            "src": "8050:179:10",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 3177,
              "nodeType": "Block",
              "src": "8318:53:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 3174,
                        "name": "_subscriptionId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3168,
                        "src": "8347:15:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      ],
                      "id": 3173,
                      "name": "_removeInvitation",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 3779,
                      "src": "8329:17:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (string memory)"
                      }
                    },
                    "id": 3175,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "8329:34:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 3176,
                  "nodeType": "ExpressionStatement",
                  "src": "8329:34:10"
                }
              ]
            },
            "documentation": null,
            "id": 3178,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": null,
                "id": 3171,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 3170,
                  "name": "isFromAdmin",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 2620,
                  "src": "8301:11:10",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "8301:11:10"
              }
            ],
            "name": "removeInvitation",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3169,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3168,
                  "name": "_subscriptionId",
                  "nodeType": "VariableDeclaration",
                  "scope": 3178,
                  "src": "8263:29:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 3167,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "8263:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "8262:31:10"
            },
            "payable": false,
            "returnParameters": {
              "id": 3172,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "8318:0:10"
            },
            "scope": 3928,
            "src": "8237:134:10",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 3192,
              "nodeType": "Block",
              "src": "8477:61:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 3188,
                        "name": "_subscriptionId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3180,
                        "src": "8507:15:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 3189,
                        "name": "_role",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3182,
                        "src": "8524:5:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        },
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      ],
                      "id": 3187,
                      "name": "_setInvitationRole",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 3801,
                      "src": "8488:18:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (string memory,string memory)"
                      }
                    },
                    "id": 3190,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "8488:42:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 3191,
                  "nodeType": "ExpressionStatement",
                  "src": "8488:42:10"
                }
              ]
            },
            "documentation": null,
            "id": 3193,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": null,
                "id": 3185,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 3184,
                  "name": "isFromAdmin",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 2620,
                  "src": "8465:11:10",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "8465:11:10"
              }
            ],
            "name": "setInvitationRole",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3183,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3180,
                  "name": "_subscriptionId",
                  "nodeType": "VariableDeclaration",
                  "scope": 3193,
                  "src": "8406:29:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 3179,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "8406:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3182,
                  "name": "_role",
                  "nodeType": "VariableDeclaration",
                  "scope": 3193,
                  "src": "8437:19:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 3181,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "8437:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "8405:52:10"
            },
            "payable": false,
            "returnParameters": {
              "id": 3186,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "8477:0:10"
            },
            "scope": 3928,
            "src": "8379:159:10",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 3212,
              "nodeType": "Block",
              "src": "8687:99:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "expression": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 3203,
                        "name": "invitationList",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2596,
                        "src": "8705:14:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_MemberInvitation_$2563_storage_$dyn_storage",
                          "typeString": "struct Members.MemberInvitation storage ref[] storage ref"
                        }
                      },
                      "id": 3209,
                      "indexExpression": {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 3208,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "id": 3204,
                            "name": "invitationIndexBySubscriptionId",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2593,
                            "src": "8720:31:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_mapping$_t_string_memory_$_t_uint256_$",
                              "typeString": "mapping(string memory => uint256)"
                            }
                          },
                          "id": 3206,
                          "indexExpression": {
                            "argumentTypes": null,
                            "id": 3205,
                            "name": "_subscriptionId",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 3195,
                            "src": "8752:15:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "8720:48:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "-",
                        "rightExpression": {
                          "argumentTypes": null,
                          "hexValue": "31",
                          "id": 3207,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "8771:1:10",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_1_by_1",
                            "typeString": "int_const 1"
                          },
                          "value": "1"
                        },
                        "src": "8720:52:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "IndexAccess",
                      "src": "8705:68:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_MemberInvitation_$2563_storage",
                        "typeString": "struct Members.MemberInvitation storage ref"
                      }
                    },
                    "id": 3210,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberName": "role",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": 2560,
                    "src": "8705:73:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage",
                      "typeString": "string storage ref"
                    }
                  },
                  "functionReturnParameters": 3202,
                  "id": 3211,
                  "nodeType": "Return",
                  "src": "8698:80:10"
                }
              ]
            },
            "documentation": null,
            "id": 3213,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "id": 3198,
                    "name": "_subscriptionId",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 3195,
                    "src": "8646:15:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory_ptr",
                      "typeString": "string memory"
                    }
                  }
                ],
                "id": 3199,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 3197,
                  "name": "isInvitationExisted",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 2661,
                  "src": "8626:19:10",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$_t_string_memory_ptr_$",
                    "typeString": "modifier (string memory)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "8626:36:10"
              }
            ],
            "name": "getInvitationRole",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3196,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3195,
                  "name": "_subscriptionId",
                  "nodeType": "VariableDeclaration",
                  "scope": 3213,
                  "src": "8573:29:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 3194,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "8573:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "8572:31:10"
            },
            "payable": false,
            "returnParameters": {
              "id": 3202,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3201,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 3213,
                  "src": "8672:6:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 3200,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "8672:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "8671:15:10"
            },
            "scope": 3928,
            "src": "8546:240:10",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 3232,
              "nodeType": "Block",
              "src": "8935:108:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "expression": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 3223,
                        "name": "invitationList",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2596,
                        "src": "8953:14:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_MemberInvitation_$2563_storage_$dyn_storage",
                          "typeString": "struct Members.MemberInvitation storage ref[] storage ref"
                        }
                      },
                      "id": 3229,
                      "indexExpression": {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 3228,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "id": 3224,
                            "name": "invitationIndexBySubscriptionId",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2593,
                            "src": "8968:31:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_mapping$_t_string_memory_$_t_uint256_$",
                              "typeString": "mapping(string memory => uint256)"
                            }
                          },
                          "id": 3226,
                          "indexExpression": {
                            "argumentTypes": null,
                            "id": 3225,
                            "name": "_subscriptionId",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 3215,
                            "src": "9000:15:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "8968:48:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "-",
                        "rightExpression": {
                          "argumentTypes": null,
                          "hexValue": "31",
                          "id": 3227,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "9019:1:10",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_1_by_1",
                            "typeString": "int_const 1"
                          },
                          "value": "1"
                        },
                        "src": "8968:52:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "IndexAccess",
                      "src": "8953:68:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_MemberInvitation_$2563_storage",
                        "typeString": "struct Members.MemberInvitation storage ref"
                      }
                    },
                    "id": 3230,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberName": "correlationId",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": 2562,
                    "src": "8953:82:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 3222,
                  "id": 3231,
                  "nodeType": "Return",
                  "src": "8946:89:10"
                }
              ]
            },
            "documentation": null,
            "id": 3233,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "id": 3218,
                    "name": "_subscriptionId",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 3215,
                    "src": "8903:15:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory_ptr",
                      "typeString": "string memory"
                    }
                  }
                ],
                "id": 3219,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 3217,
                  "name": "isInvitationExisted",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 2661,
                  "src": "8883:19:10",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$_t_string_memory_ptr_$",
                    "typeString": "modifier (string memory)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "8883:36:10"
              }
            ],
            "name": "getInvitationCorrelationId",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3216,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3215,
                  "name": "_subscriptionId",
                  "nodeType": "VariableDeclaration",
                  "scope": 3233,
                  "src": "8830:29:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 3214,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "8830:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "8829:31:10"
            },
            "payable": false,
            "returnParameters": {
              "id": 3222,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3221,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 3233,
                  "src": "8929:4:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 3220,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "8929:4:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "8928:6:10"
            },
            "scope": 3928,
            "src": "8794:249:10",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 3241,
              "nodeType": "Block",
              "src": "9108:47:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "expression": {
                      "argumentTypes": null,
                      "id": 3238,
                      "name": "invitationList",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 2596,
                      "src": "9126:14:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_struct$_MemberInvitation_$2563_storage_$dyn_storage",
                        "typeString": "struct Members.MemberInvitation storage ref[] storage ref"
                      }
                    },
                    "id": 3239,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberName": "length",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": null,
                    "src": "9126:21:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 3237,
                  "id": 3240,
                  "nodeType": "Return",
                  "src": "9119:28:10"
                }
              ]
            },
            "documentation": null,
            "id": 3242,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "getInvitationCount",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3234,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "9078:2:10"
            },
            "payable": false,
            "returnParameters": {
              "id": 3237,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3236,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 3242,
                  "src": "9102:4:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 3235,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "9102:4:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "9101:6:10"
            },
            "scope": 3928,
            "src": "9051:104:10",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 3262,
              "nodeType": "Block",
              "src": "9258:147:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 3253,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "id": 3250,
                          "name": "iterator",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3244,
                          "src": "9277:8:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "<",
                        "rightExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 3251,
                            "name": "invitationList",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2596,
                            "src": "9288:14:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_struct$_MemberInvitation_$2563_storage_$dyn_storage",
                              "typeString": "struct Members.MemberInvitation storage ref[] storage ref"
                            }
                          },
                          "id": 3252,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "length",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "9288:21:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "src": "9277:32:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "496e76616c6964206974657261746f7220737570706c6965642e",
                        "id": 3254,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "9311:28:10",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_d3f3c6d6cacdfe55fb03c0a51a1c170a2d711ed77d44f573f52b0f0aa9d19d1f",
                          "typeString": "literal_string \"Invalid iterator supplied.\""
                        },
                        "value": "Invalid iterator supplied."
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_d3f3c6d6cacdfe55fb03c0a51a1c170a2d711ed77d44f573f52b0f0aa9d19d1f",
                          "typeString": "literal_string \"Invalid iterator supplied.\""
                        }
                      ],
                      "id": 3249,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        4099,
                        4100
                      ],
                      "referencedDeclaration": 4100,
                      "src": "9269:7:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 3255,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "9269:71:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 3256,
                  "nodeType": "ExpressionStatement",
                  "src": "9269:71:10"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "expression": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 3257,
                        "name": "invitationList",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2596,
                        "src": "9358:14:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_MemberInvitation_$2563_storage_$dyn_storage",
                          "typeString": "struct Members.MemberInvitation storage ref[] storage ref"
                        }
                      },
                      "id": 3259,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 3258,
                        "name": "iterator",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3244,
                        "src": "9373:8:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "IndexAccess",
                      "src": "9358:24:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_MemberInvitation_$2563_storage",
                        "typeString": "struct Members.MemberInvitation storage ref"
                      }
                    },
                    "id": 3260,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberName": "subscriptionId",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": 2558,
                    "src": "9358:39:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage",
                      "typeString": "string storage ref"
                    }
                  },
                  "functionReturnParameters": 3248,
                  "id": 3261,
                  "nodeType": "Return",
                  "src": "9351:46:10"
                }
              ]
            },
            "documentation": null,
            "id": 3263,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "getInvitationSubscriptionIdAtIndex",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3245,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3244,
                  "name": "iterator",
                  "nodeType": "VariableDeclaration",
                  "scope": 3263,
                  "src": "9207:13:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 3243,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "9207:4:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "9206:15:10"
            },
            "payable": false,
            "returnParameters": {
              "id": 3248,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3247,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 3263,
                  "src": "9243:6:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 3246,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "9243:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "9242:15:10"
            },
            "scope": 3928,
            "src": "9163:242:10",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 3342,
              "nodeType": "Block",
              "src": "9658:706:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 3282,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "UnaryOperation",
                        "operator": "!",
                        "prefix": true,
                        "src": "9677:24:10",
                        "subExpression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 3280,
                              "name": "_name",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 3265,
                              "src": "9695:5:10",
                              "typeDescriptions": {
                                "typeIdentifier": "t_string_memory_ptr",
                                "typeString": "string memory"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_string_memory_ptr",
                                "typeString": "string memory"
                              }
                            ],
                            "id": 3279,
                            "name": "existsMemberName",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 3606,
                            "src": "9678:16:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$_t_bool_$",
                              "typeString": "function (string memory) view returns (bool)"
                            }
                          },
                          "id": 3281,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "9678:23:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "41206d656d62657220776974682073756368206e616d6520616c7265616479206578697374732e",
                        "id": 3283,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "9703:41:10",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_0efc8d31d976338270ce31c3bf860baa2ed4cc8fc5867cd70bb7d52da8f14092",
                          "typeString": "literal_string \"A member with such name already exists.\""
                        },
                        "value": "A member with such name already exists."
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_0efc8d31d976338270ce31c3bf860baa2ed4cc8fc5867cd70bb7d52da8f14092",
                          "typeString": "literal_string \"A member with such name already exists.\""
                        }
                      ],
                      "id": 3278,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        4099,
                        4100
                      ],
                      "referencedDeclaration": 4100,
                      "src": "9669:7:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 3284,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "9669:76:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 3285,
                  "nodeType": "ExpressionStatement",
                  "src": "9669:76:10"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 3290,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "UnaryOperation",
                        "operator": "!",
                        "prefix": true,
                        "src": "9764:30:10",
                        "subExpression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 3288,
                              "name": "_account",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 3273,
                              "src": "9785:8:10",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            ],
                            "id": 3287,
                            "name": "existsMemberAddress",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 3620,
                            "src": "9765:19:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$",
                              "typeString": "function (address) view returns (bool)"
                            }
                          },
                          "id": 3289,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "9765:29:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "41206d656d62657220776974682073756368206164647265737320616c7265616479206578697374732e",
                        "id": 3291,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "9796:44:10",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_94eb262ddce4b68508e5aabfb3d13085c42fe55646aa06116a382f5cadaabfab",
                          "typeString": "literal_string \"A member with such address already exists.\""
                        },
                        "value": "A member with such address already exists."
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_94eb262ddce4b68508e5aabfb3d13085c42fe55646aa06116a382f5cadaabfab",
                          "typeString": "literal_string \"A member with such address already exists.\""
                        }
                      ],
                      "id": 3286,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        4099,
                        4100
                      ],
                      "referencedDeclaration": 4100,
                      "src": "9756:7:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 3292,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "9756:85:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 3293,
                  "nodeType": "ExpressionStatement",
                  "src": "9756:85:10"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        "id": 3299,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "id": 3295,
                          "name": "_account",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3273,
                          "src": "9860:8:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "!=",
                        "rightExpression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "hexValue": "30",
                              "id": 3297,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "9880:1:10",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_0_by_1",
                                "typeString": "int_const 0"
                              },
                              "value": "0"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_rational_0_by_1",
                                "typeString": "int_const 0"
                              }
                            ],
                            "id": 3296,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "ElementaryTypeNameExpression",
                            "src": "9872:7:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_address_$",
                              "typeString": "type(address)"
                            },
                            "typeName": "address"
                          },
                          "id": 3298,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "typeConversion",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "9872:10:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "src": "9860:22:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "41737369676e696e672061207a65726f2061646472657373206973206e6f7420616c6c6f7765642e",
                        "id": 3300,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "9884:42:10",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_07ba0c61f1ef62f1c4cd7591ad010a0bcd068667ea341e651f4c815c5aeaf250",
                          "typeString": "literal_string \"Assigning a zero address is not allowed.\""
                        },
                        "value": "Assigning a zero address is not allowed."
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_07ba0c61f1ef62f1c4cd7591ad010a0bcd068667ea341e651f4c815c5aeaf250",
                          "typeString": "literal_string \"Assigning a zero address is not allowed.\""
                        }
                      ],
                      "id": 3294,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        4099,
                        4100
                      ],
                      "referencedDeclaration": 4100,
                      "src": "9852:7:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 3301,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "9852:75:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 3302,
                  "nodeType": "ExpressionStatement",
                  "src": "9852:75:10"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 3307,
                            "name": "_name",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 3265,
                            "src": "9977:5:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 3308,
                            "name": "_displayName",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 3267,
                            "src": "9997:12:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 3309,
                            "name": "_subscriptionId",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 3269,
                            "src": "10024:15:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 3310,
                            "name": "_role",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 3271,
                            "src": "10054:5:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 3311,
                            "name": "_account",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 3273,
                            "src": "10074:8:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 3312,
                            "name": "_correlationId",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 3275,
                            "src": "10097:14:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            },
                            {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            },
                            {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            },
                            {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            },
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            },
                            {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          ],
                          "id": 3306,
                          "name": "Member",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 2556,
                          "src": "9956:6:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_struct$_Member_$2556_storage_ptr_$",
                            "typeString": "type(struct Members.Member storage pointer)"
                          }
                        },
                        "id": 3313,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "structConstructorCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "9956:166:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Member_$2556_memory",
                          "typeString": "struct Members.Member memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_struct$_Member_$2556_memory",
                          "typeString": "struct Members.Member memory"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 3303,
                        "name": "memberList",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2585,
                        "src": "9940:10:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_Member_$2556_storage_$dyn_storage",
                          "typeString": "struct Members.Member storage ref[] storage ref"
                        }
                      },
                      "id": 3305,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "push",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "9940:15:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_arraypush_nonpayable$_t_struct$_Member_$2556_storage_$returns$_t_uint256_$",
                        "typeString": "function (struct Members.Member storage ref) returns (uint256)"
                      }
                    },
                    "id": 3314,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "9940:183:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 3315,
                  "nodeType": "ExpressionStatement",
                  "src": "9940:183:10"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 3321,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 3316,
                        "name": "memberIndexByName",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2578,
                        "src": "10134:17:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_string_memory_$_t_uint256_$",
                          "typeString": "mapping(string memory => uint256)"
                        }
                      },
                      "id": 3318,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 3317,
                        "name": "_name",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3265,
                        "src": "10152:5:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "IndexAccess",
                      "src": "10134:24:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "id": 3319,
                        "name": "memberList",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2585,
                        "src": "10161:10:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_Member_$2556_storage_$dyn_storage",
                          "typeString": "struct Members.Member storage ref[] storage ref"
                        }
                      },
                      "id": 3320,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "length",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "10161:17:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "10134:44:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 3322,
                  "nodeType": "ExpressionStatement",
                  "src": "10134:44:10"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 3328,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 3323,
                        "name": "memberIndexByAddress",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2582,
                        "src": "10189:20:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                          "typeString": "mapping(address => uint256)"
                        }
                      },
                      "id": 3325,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 3324,
                        "name": "_account",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3273,
                        "src": "10210:8:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "IndexAccess",
                      "src": "10189:30:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "id": 3326,
                        "name": "memberList",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2585,
                        "src": "10222:10:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_Member_$2556_storage_$dyn_storage",
                          "typeString": "struct Members.Member storage ref[] storage ref"
                        }
                      },
                      "id": 3327,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "length",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "10222:17:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "10189:50:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 3329,
                  "nodeType": "ExpressionStatement",
                  "src": "10189:50:10"
                },
                {
                  "condition": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 3331,
                        "name": "_role",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3271,
                        "src": "10268:5:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      ],
                      "id": 3330,
                      "name": "isAdminRole",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 3903,
                      "src": "10256:11:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_bool_$",
                        "typeString": "function (string memory) pure returns (bool)"
                      }
                    },
                    "id": 3332,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "10256:18:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": null,
                  "id": 3337,
                  "nodeType": "IfStatement",
                  "src": "10252:63:10",
                  "trueBody": {
                    "id": 3336,
                    "nodeType": "Block",
                    "src": "10276:39:10",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 3334,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "UnaryOperation",
                          "operator": "++",
                          "prefix": false,
                          "src": "10291:12:10",
                          "subExpression": {
                            "argumentTypes": null,
                            "id": 3333,
                            "name": "adminCount",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2587,
                            "src": "10291:10:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 3335,
                        "nodeType": "ExpressionStatement",
                        "src": "10291:12:10"
                      }
                    ]
                  }
                },
                {
                  "eventCall": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 3339,
                        "name": "_name",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3265,
                        "src": "10350:5:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      ],
                      "id": 3338,
                      "name": "MemberJoinedEvent",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 2570,
                      "src": "10332:17:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (string memory)"
                      }
                    },
                    "id": 3340,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "10332:24:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 3341,
                  "nodeType": "EmitStatement",
                  "src": "10327:29:10"
                }
              ]
            },
            "documentation": null,
            "id": 3343,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "_addMember",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3276,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3265,
                  "name": "_name",
                  "nodeType": "VariableDeclaration",
                  "scope": 3343,
                  "src": "9445:19:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 3264,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "9445:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3267,
                  "name": "_displayName",
                  "nodeType": "VariableDeclaration",
                  "scope": 3343,
                  "src": "9475:26:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 3266,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "9475:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3269,
                  "name": "_subscriptionId",
                  "nodeType": "VariableDeclaration",
                  "scope": 3343,
                  "src": "9512:29:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 3268,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "9512:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3271,
                  "name": "_role",
                  "nodeType": "VariableDeclaration",
                  "scope": 3343,
                  "src": "9552:19:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 3270,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "9552:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3273,
                  "name": "_account",
                  "nodeType": "VariableDeclaration",
                  "scope": 3343,
                  "src": "9582:16:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 3272,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "9582:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3275,
                  "name": "_correlationId",
                  "nodeType": "VariableDeclaration",
                  "scope": 3343,
                  "src": "9609:19:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 3274,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "9609:4:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "9434:201:10"
            },
            "payable": false,
            "returnParameters": {
              "id": 3277,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "9658:0:10"
            },
            "scope": 3928,
            "src": "9415:949:10",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "private"
          },
          {
            "body": {
              "id": 3450,
              "nodeType": "Block",
              "src": "10447:936:10",
              "statements": [
                {
                  "assignments": [
                    3352
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 3352,
                      "name": "memberIndexBaseZero",
                      "nodeType": "VariableDeclaration",
                      "scope": 3451,
                      "src": "10458:24:10",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 3351,
                        "name": "uint",
                        "nodeType": "ElementaryTypeName",
                        "src": "10458:4:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 3358,
                  "initialValue": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 3357,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 3353,
                        "name": "memberIndexByName",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2578,
                        "src": "10485:17:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_string_memory_$_t_uint256_$",
                          "typeString": "mapping(string memory => uint256)"
                        }
                      },
                      "id": 3355,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 3354,
                        "name": "_name",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3345,
                        "src": "10503:5:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "IndexAccess",
                      "src": "10485:24:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "-",
                    "rightExpression": {
                      "argumentTypes": null,
                      "hexValue": "31",
                      "id": 3356,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "10512:1:10",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_1_by_1",
                        "typeString": "int_const 1"
                      },
                      "value": "1"
                    },
                    "src": "10485:28:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "10458:55:10"
                },
                {
                  "assignments": [
                    3360
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 3360,
                      "name": "memberToRemove",
                      "nodeType": "VariableDeclaration",
                      "scope": 3451,
                      "src": "10524:29:10",
                      "stateVariable": false,
                      "storageLocation": "storage",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Member_$2556_storage_ptr",
                        "typeString": "struct Members.Member"
                      },
                      "typeName": {
                        "contractScope": null,
                        "id": 3359,
                        "name": "Member",
                        "nodeType": "UserDefinedTypeName",
                        "referencedDeclaration": 2556,
                        "src": "10524:6:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Member_$2556_storage_ptr",
                          "typeString": "struct Members.Member"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 3364,
                  "initialValue": {
                    "argumentTypes": null,
                    "baseExpression": {
                      "argumentTypes": null,
                      "id": 3361,
                      "name": "memberList",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 2585,
                      "src": "10556:10:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_struct$_Member_$2556_storage_$dyn_storage",
                        "typeString": "struct Members.Member storage ref[] storage ref"
                      }
                    },
                    "id": 3363,
                    "indexExpression": {
                      "argumentTypes": null,
                      "id": 3362,
                      "name": "memberIndexBaseZero",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 3352,
                      "src": "10567:19:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "IndexAccess",
                    "src": "10556:31:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Member_$2556_storage",
                      "typeString": "struct Members.Member storage ref"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "10524:63:10"
                },
                {
                  "assignments": [
                    3366
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 3366,
                      "name": "memberToRemoveAddress",
                      "nodeType": "VariableDeclaration",
                      "scope": 3451,
                      "src": "10598:29:10",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      },
                      "typeName": {
                        "id": 3365,
                        "name": "address",
                        "nodeType": "ElementaryTypeName",
                        "src": "10598:7:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 3369,
                  "initialValue": {
                    "argumentTypes": null,
                    "expression": {
                      "argumentTypes": null,
                      "id": 3367,
                      "name": "memberToRemove",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 3360,
                      "src": "10630:14:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Member_$2556_storage_ptr",
                        "typeString": "struct Members.Member storage pointer"
                      }
                    },
                    "id": 3368,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberName": "account",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": 2553,
                    "src": "10630:22:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "10598:54:10"
                },
                {
                  "condition": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 3371,
                        "name": "memberToRemove",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3360,
                        "src": "10677:14:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Member_$2556_storage_ptr",
                          "typeString": "struct Members.Member storage pointer"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_struct$_Member_$2556_storage_ptr",
                          "typeString": "struct Members.Member storage pointer"
                        }
                      ],
                      "id": 3370,
                      "name": "isAdmin",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 3638,
                      "src": "10669:7:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_struct$_Member_$2556_memory_ptr_$returns$_t_bool_$",
                        "typeString": "function (struct Members.Member memory) view returns (bool)"
                      }
                    },
                    "id": 3372,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "10669:23:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": null,
                  "id": 3389,
                  "nodeType": "IfStatement",
                  "src": "10665:188:10",
                  "trueBody": {
                    "id": 3388,
                    "nodeType": "Block",
                    "src": "10694:159:10",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "commonType": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              "id": 3376,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftExpression": {
                                "argumentTypes": null,
                                "id": 3374,
                                "name": "adminCount",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 2587,
                                "src": "10716:10:10",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "nodeType": "BinaryOperation",
                              "operator": ">",
                              "rightExpression": {
                                "argumentTypes": null,
                                "hexValue": "30",
                                "id": 3375,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "number",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "10729:1:10",
                                "subdenomination": null,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_rational_0_by_1",
                                  "typeString": "int_const 0"
                                },
                                "value": "0"
                              },
                              "src": "10716:14:10",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            ],
                            "id": 3373,
                            "name": "assert",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4085,
                            "src": "10709:6:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_assert_pure$_t_bool_$returns$__$",
                              "typeString": "function (bool) pure"
                            }
                          },
                          "id": 3377,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "10709:22:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 3378,
                        "nodeType": "ExpressionStatement",
                        "src": "10709:22:10"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 3380,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "UnaryOperation",
                          "operator": "--",
                          "prefix": false,
                          "src": "10746:12:10",
                          "subExpression": {
                            "argumentTypes": null,
                            "id": 3379,
                            "name": "adminCount",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2587,
                            "src": "10746:10:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 3381,
                        "nodeType": "ExpressionStatement",
                        "src": "10746:12:10"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "arguments": [],
                              "expression": {
                                "argumentTypes": [],
                                "id": 3383,
                                "name": "existAdmins",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 3592,
                                "src": "10781:11:10",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$",
                                  "typeString": "function () view returns (bool)"
                                }
                              },
                              "id": 3384,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "10781:13:10",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "hexValue": "436f6e736f727469756d2073686f756c642068617665206174206c65617374206f6e652061646d696e2e",
                              "id": 3385,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "string",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "10796:44:10",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_stringliteral_ef68e62a3ddadf21cd47fb77c2e5c627ed835774918a93f288717432c85891c6",
                                "typeString": "literal_string \"Consortium should have at least one admin.\""
                              },
                              "value": "Consortium should have at least one admin."
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              },
                              {
                                "typeIdentifier": "t_stringliteral_ef68e62a3ddadf21cd47fb77c2e5c627ed835774918a93f288717432c85891c6",
                                "typeString": "literal_string \"Consortium should have at least one admin.\""
                              }
                            ],
                            "id": 3382,
                            "name": "require",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [
                              4099,
                              4100
                            ],
                            "referencedDeclaration": 4100,
                            "src": "10773:7:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                              "typeString": "function (bool,string memory) pure"
                            }
                          },
                          "id": 3386,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "10773:68:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 3387,
                        "nodeType": "ExpressionStatement",
                        "src": "10773:68:10"
                      }
                    ]
                  }
                },
                {
                  "assignments": [
                    3391
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 3391,
                      "name": "memberToBeMoved",
                      "nodeType": "VariableDeclaration",
                      "scope": 3451,
                      "src": "10865:30:10",
                      "stateVariable": false,
                      "storageLocation": "storage",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Member_$2556_storage_ptr",
                        "typeString": "struct Members.Member"
                      },
                      "typeName": {
                        "contractScope": null,
                        "id": 3390,
                        "name": "Member",
                        "nodeType": "UserDefinedTypeName",
                        "referencedDeclaration": 2556,
                        "src": "10865:6:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Member_$2556_storage_ptr",
                          "typeString": "struct Members.Member"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 3398,
                  "initialValue": {
                    "argumentTypes": null,
                    "baseExpression": {
                      "argumentTypes": null,
                      "id": 3392,
                      "name": "memberList",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 2585,
                      "src": "10898:10:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_struct$_Member_$2556_storage_$dyn_storage",
                        "typeString": "struct Members.Member storage ref[] storage ref"
                      }
                    },
                    "id": 3397,
                    "indexExpression": {
                      "argumentTypes": null,
                      "commonType": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "id": 3396,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 3393,
                          "name": "memberList",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 2585,
                          "src": "10909:10:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_struct$_Member_$2556_storage_$dyn_storage",
                            "typeString": "struct Members.Member storage ref[] storage ref"
                          }
                        },
                        "id": 3394,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "length",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": null,
                        "src": "10909:17:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "-",
                      "rightExpression": {
                        "argumentTypes": null,
                        "hexValue": "31",
                        "id": 3395,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "10929:1:10",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_1_by_1",
                          "typeString": "int_const 1"
                        },
                        "value": "1"
                      },
                      "src": "10909:21:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "IndexAccess",
                    "src": "10898:33:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Member_$2556_storage",
                      "typeString": "struct Members.Member storage ref"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "10865:66:10"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 3403,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 3399,
                        "name": "memberList",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2585,
                        "src": "10942:10:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_Member_$2556_storage_$dyn_storage",
                          "typeString": "struct Members.Member storage ref[] storage ref"
                        }
                      },
                      "id": 3401,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 3400,
                        "name": "memberIndexBaseZero",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3352,
                        "src": "10953:19:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "IndexAccess",
                      "src": "10942:31:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Member_$2556_storage",
                        "typeString": "struct Members.Member storage ref"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 3402,
                      "name": "memberToBeMoved",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 3391,
                      "src": "10976:15:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Member_$2556_storage_ptr",
                        "typeString": "struct Members.Member storage pointer"
                      }
                    },
                    "src": "10942:49:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Member_$2556_storage",
                      "typeString": "struct Members.Member storage ref"
                    }
                  },
                  "id": 3404,
                  "nodeType": "ExpressionStatement",
                  "src": "10942:49:10"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 3412,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 3405,
                        "name": "memberIndexByName",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2578,
                        "src": "11002:17:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_string_memory_$_t_uint256_$",
                          "typeString": "mapping(string memory => uint256)"
                        }
                      },
                      "id": 3408,
                      "indexExpression": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 3406,
                          "name": "memberToBeMoved",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3391,
                          "src": "11020:15:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Member_$2556_storage_ptr",
                            "typeString": "struct Members.Member storage pointer"
                          }
                        },
                        "id": 3407,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "name",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 2545,
                        "src": "11020:20:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_storage",
                          "typeString": "string storage ref"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "IndexAccess",
                      "src": "11002:39:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "commonType": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "id": 3411,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "argumentTypes": null,
                        "id": 3409,
                        "name": "memberIndexBaseZero",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3352,
                        "src": "11044:19:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "+",
                      "rightExpression": {
                        "argumentTypes": null,
                        "hexValue": "31",
                        "id": 3410,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "11066:1:10",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_1_by_1",
                          "typeString": "int_const 1"
                        },
                        "value": "1"
                      },
                      "src": "11044:23:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "11002:65:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 3413,
                  "nodeType": "ExpressionStatement",
                  "src": "11002:65:10"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 3421,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 3414,
                        "name": "memberIndexByAddress",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2582,
                        "src": "11078:20:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                          "typeString": "mapping(address => uint256)"
                        }
                      },
                      "id": 3417,
                      "indexExpression": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 3415,
                          "name": "memberToBeMoved",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3391,
                          "src": "11099:15:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Member_$2556_storage_ptr",
                            "typeString": "struct Members.Member storage pointer"
                          }
                        },
                        "id": 3416,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "account",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 2553,
                        "src": "11099:23:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "IndexAccess",
                      "src": "11078:45:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "commonType": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "id": 3420,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "argumentTypes": null,
                        "id": 3418,
                        "name": "memberIndexBaseZero",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3352,
                        "src": "11126:19:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "+",
                      "rightExpression": {
                        "argumentTypes": null,
                        "hexValue": "31",
                        "id": 3419,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "11148:1:10",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_1_by_1",
                          "typeString": "int_const 1"
                        },
                        "value": "1"
                      },
                      "src": "11126:23:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "11078:71:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 3422,
                  "nodeType": "ExpressionStatement",
                  "src": "11078:71:10"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 3426,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "UnaryOperation",
                    "operator": "delete",
                    "prefix": true,
                    "src": "11162:50:10",
                    "subExpression": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 3423,
                        "name": "memberIndexByAddress",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2582,
                        "src": "11169:20:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                          "typeString": "mapping(address => uint256)"
                        }
                      },
                      "id": 3425,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 3424,
                        "name": "memberToRemoveAddress",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3366,
                        "src": "11190:21:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "IndexAccess",
                      "src": "11169:43:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 3427,
                  "nodeType": "ExpressionStatement",
                  "src": "11162:50:10"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 3431,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "UnaryOperation",
                    "operator": "delete",
                    "prefix": true,
                    "src": "11223:31:10",
                    "subExpression": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 3428,
                        "name": "memberIndexByName",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2578,
                        "src": "11230:17:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_string_memory_$_t_uint256_$",
                          "typeString": "mapping(string memory => uint256)"
                        }
                      },
                      "id": 3430,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 3429,
                        "name": "_name",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3345,
                        "src": "11248:5:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "IndexAccess",
                      "src": "11230:24:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 3432,
                  "nodeType": "ExpressionStatement",
                  "src": "11223:31:10"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 3439,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "UnaryOperation",
                    "operator": "delete",
                    "prefix": true,
                    "src": "11265:40:10",
                    "subExpression": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 3433,
                        "name": "memberList",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2585,
                        "src": "11272:10:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_Member_$2556_storage_$dyn_storage",
                          "typeString": "struct Members.Member storage ref[] storage ref"
                        }
                      },
                      "id": 3438,
                      "indexExpression": {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 3437,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 3434,
                            "name": "memberList",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2585,
                            "src": "11283:10:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_struct$_Member_$2556_storage_$dyn_storage",
                              "typeString": "struct Members.Member storage ref[] storage ref"
                            }
                          },
                          "id": 3435,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "length",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "11283:17:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "-",
                        "rightExpression": {
                          "argumentTypes": null,
                          "hexValue": "31",
                          "id": 3436,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "11303:1:10",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_1_by_1",
                            "typeString": "int_const 1"
                          },
                          "value": "1"
                        },
                        "src": "11283:21:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "IndexAccess",
                      "src": "11272:33:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Member_$2556_storage",
                        "typeString": "struct Members.Member storage ref"
                      }
                    },
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 3440,
                  "nodeType": "ExpressionStatement",
                  "src": "11265:40:10"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 3444,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "UnaryOperation",
                    "operator": "--",
                    "prefix": false,
                    "src": "11316:19:10",
                    "subExpression": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "id": 3441,
                        "name": "memberList",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2585,
                        "src": "11316:10:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_Member_$2556_storage_$dyn_storage",
                          "typeString": "struct Members.Member storage ref[] storage ref"
                        }
                      },
                      "id": 3443,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "length",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "11316:17:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 3445,
                  "nodeType": "ExpressionStatement",
                  "src": "11316:19:10"
                },
                {
                  "eventCall": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 3447,
                        "name": "_name",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3345,
                        "src": "11369:5:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      ],
                      "id": 3446,
                      "name": "MemberLeftEvent",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 2574,
                      "src": "11353:15:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (string memory)"
                      }
                    },
                    "id": 3448,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "11353:22:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 3449,
                  "nodeType": "EmitStatement",
                  "src": "11348:27:10"
                }
              ]
            },
            "documentation": null,
            "id": 3451,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "id": 3348,
                    "name": "_name",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 3345,
                    "src": "10440:5:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory_ptr",
                      "typeString": "string memory"
                    }
                  }
                ],
                "id": 3349,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 3347,
                  "name": "isMemberExisted",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 2648,
                  "src": "10424:15:10",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$_t_string_memory_ptr_$",
                    "typeString": "modifier (string memory)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "10424:22:10"
              }
            ],
            "name": "_removeMember",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3346,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3345,
                  "name": "_name",
                  "nodeType": "VariableDeclaration",
                  "scope": 3451,
                  "src": "10395:19:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 3344,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "10395:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "10394:21:10"
            },
            "payable": false,
            "returnParameters": {
              "id": 3350,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "10447:0:10"
            },
            "scope": 3928,
            "src": "10372:1011:10",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "private"
          },
          {
            "body": {
              "id": 3513,
              "nodeType": "Block",
              "src": "11488:521:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 3465,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "UnaryOperation",
                        "operator": "!",
                        "prefix": true,
                        "src": "11507:30:10",
                        "subExpression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 3463,
                              "name": "_account",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 3455,
                              "src": "11528:8:10",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            ],
                            "id": 3462,
                            "name": "existsMemberAddress",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 3620,
                            "src": "11508:19:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$",
                              "typeString": "function (address) view returns (bool)"
                            }
                          },
                          "id": 3464,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "11508:29:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "41206d656d62657220776974682073756368206164647265737320616c7265616479206578697374732e",
                        "id": 3466,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "11539:44:10",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_94eb262ddce4b68508e5aabfb3d13085c42fe55646aa06116a382f5cadaabfab",
                          "typeString": "literal_string \"A member with such address already exists.\""
                        },
                        "value": "A member with such address already exists."
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_94eb262ddce4b68508e5aabfb3d13085c42fe55646aa06116a382f5cadaabfab",
                          "typeString": "literal_string \"A member with such address already exists.\""
                        }
                      ],
                      "id": 3461,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        4099,
                        4100
                      ],
                      "referencedDeclaration": 4100,
                      "src": "11499:7:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 3467,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "11499:85:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 3468,
                  "nodeType": "ExpressionStatement",
                  "src": "11499:85:10"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        "id": 3474,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "id": 3470,
                          "name": "_account",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3455,
                          "src": "11603:8:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "!=",
                        "rightExpression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "hexValue": "30",
                              "id": 3472,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "11623:1:10",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_0_by_1",
                                "typeString": "int_const 0"
                              },
                              "value": "0"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_rational_0_by_1",
                                "typeString": "int_const 0"
                              }
                            ],
                            "id": 3471,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "ElementaryTypeNameExpression",
                            "src": "11615:7:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_address_$",
                              "typeString": "type(address)"
                            },
                            "typeName": "address"
                          },
                          "id": 3473,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "typeConversion",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "11615:10:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "src": "11603:22:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "41737369676e696e672061207a65726f2061646472657373206973206e6f7420616c6c6f7765642e",
                        "id": 3475,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "11627:42:10",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_07ba0c61f1ef62f1c4cd7591ad010a0bcd068667ea341e651f4c815c5aeaf250",
                          "typeString": "literal_string \"Assigning a zero address is not allowed.\""
                        },
                        "value": "Assigning a zero address is not allowed."
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_07ba0c61f1ef62f1c4cd7591ad010a0bcd068667ea341e651f4c815c5aeaf250",
                          "typeString": "literal_string \"Assigning a zero address is not allowed.\""
                        }
                      ],
                      "id": 3469,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        4099,
                        4100
                      ],
                      "referencedDeclaration": 4100,
                      "src": "11595:7:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 3476,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "11595:75:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 3477,
                  "nodeType": "ExpressionStatement",
                  "src": "11595:75:10"
                },
                {
                  "assignments": [
                    3479
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 3479,
                      "name": "memberIndexBaseZero",
                      "nodeType": "VariableDeclaration",
                      "scope": 3514,
                      "src": "11683:24:10",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 3478,
                        "name": "uint",
                        "nodeType": "ElementaryTypeName",
                        "src": "11683:4:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 3485,
                  "initialValue": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 3484,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 3480,
                        "name": "memberIndexByName",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2578,
                        "src": "11710:17:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_string_memory_$_t_uint256_$",
                          "typeString": "mapping(string memory => uint256)"
                        }
                      },
                      "id": 3482,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 3481,
                        "name": "_name",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3453,
                        "src": "11728:5:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "IndexAccess",
                      "src": "11710:24:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "-",
                    "rightExpression": {
                      "argumentTypes": null,
                      "hexValue": "31",
                      "id": 3483,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "11737:1:10",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_1_by_1",
                        "typeString": "int_const 1"
                      },
                      "value": "1"
                    },
                    "src": "11710:28:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "11683:55:10"
                },
                {
                  "assignments": [
                    3487
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 3487,
                      "name": "originalAccount",
                      "nodeType": "VariableDeclaration",
                      "scope": 3514,
                      "src": "11751:23:10",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      },
                      "typeName": {
                        "id": 3486,
                        "name": "address",
                        "nodeType": "ElementaryTypeName",
                        "src": "11751:7:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 3492,
                  "initialValue": {
                    "argumentTypes": null,
                    "expression": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 3488,
                        "name": "memberList",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2585,
                        "src": "11777:10:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_Member_$2556_storage_$dyn_storage",
                          "typeString": "struct Members.Member storage ref[] storage ref"
                        }
                      },
                      "id": 3490,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 3489,
                        "name": "memberIndexBaseZero",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3479,
                        "src": "11788:19:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "IndexAccess",
                      "src": "11777:31:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Member_$2556_storage",
                        "typeString": "struct Members.Member storage ref"
                      }
                    },
                    "id": 3491,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberName": "account",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": 2553,
                    "src": "11777:39:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "11751:65:10"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 3496,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "UnaryOperation",
                    "operator": "delete",
                    "prefix": true,
                    "src": "11827:44:10",
                    "subExpression": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 3493,
                        "name": "memberIndexByAddress",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2582,
                        "src": "11834:20:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                          "typeString": "mapping(address => uint256)"
                        }
                      },
                      "id": 3495,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 3494,
                        "name": "originalAccount",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3487,
                        "src": "11855:15:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "IndexAccess",
                      "src": "11834:37:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 3497,
                  "nodeType": "ExpressionStatement",
                  "src": "11827:44:10"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 3503,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 3498,
                          "name": "memberList",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 2585,
                          "src": "11884:10:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_struct$_Member_$2556_storage_$dyn_storage",
                            "typeString": "struct Members.Member storage ref[] storage ref"
                          }
                        },
                        "id": 3500,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 3499,
                          "name": "memberIndexBaseZero",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3479,
                          "src": "11895:19:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "11884:31:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Member_$2556_storage",
                          "typeString": "struct Members.Member storage ref"
                        }
                      },
                      "id": 3501,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "account",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 2553,
                      "src": "11884:39:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 3502,
                      "name": "_account",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 3455,
                      "src": "11926:8:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "src": "11884:50:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "id": 3504,
                  "nodeType": "ExpressionStatement",
                  "src": "11884:50:10"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 3511,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 3505,
                        "name": "memberIndexByAddress",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2582,
                        "src": "11945:20:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                          "typeString": "mapping(address => uint256)"
                        }
                      },
                      "id": 3507,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 3506,
                        "name": "_account",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3455,
                        "src": "11966:8:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "IndexAccess",
                      "src": "11945:30:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "commonType": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "id": 3510,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "argumentTypes": null,
                        "id": 3508,
                        "name": "memberIndexBaseZero",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3479,
                        "src": "11978:19:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "+",
                      "rightExpression": {
                        "argumentTypes": null,
                        "hexValue": "31",
                        "id": 3509,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "12000:1:10",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_1_by_1",
                          "typeString": "int_const 1"
                        },
                        "value": "1"
                      },
                      "src": "11978:23:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "11945:56:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 3512,
                  "nodeType": "ExpressionStatement",
                  "src": "11945:56:10"
                }
              ]
            },
            "documentation": null,
            "id": 3514,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "id": 3458,
                    "name": "_name",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 3453,
                    "src": "11481:5:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory_ptr",
                      "typeString": "string memory"
                    }
                  }
                ],
                "id": 3459,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 3457,
                  "name": "isMemberExisted",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 2648,
                  "src": "11465:15:10",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$_t_string_memory_ptr_$",
                    "typeString": "modifier (string memory)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "11465:22:10"
              }
            ],
            "name": "_setMemberAccount",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3456,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3453,
                  "name": "_name",
                  "nodeType": "VariableDeclaration",
                  "scope": 3514,
                  "src": "11418:19:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 3452,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "11418:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3455,
                  "name": "_account",
                  "nodeType": "VariableDeclaration",
                  "scope": 3514,
                  "src": "11439:16:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 3454,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "11439:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "11417:39:10"
            },
            "payable": false,
            "returnParameters": {
              "id": 3460,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "11488:0:10"
            },
            "scope": 3928,
            "src": "11391:618:10",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "private"
          },
          {
            "body": {
              "id": 3581,
              "nodeType": "Block",
              "src": "12114:554:10",
              "statements": [
                {
                  "assignments": [
                    3525
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 3525,
                      "name": "memberIndexBaseZero",
                      "nodeType": "VariableDeclaration",
                      "scope": 3582,
                      "src": "12125:24:10",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 3524,
                        "name": "uint",
                        "nodeType": "ElementaryTypeName",
                        "src": "12125:4:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 3531,
                  "initialValue": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 3530,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 3526,
                        "name": "memberIndexByName",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2578,
                        "src": "12152:17:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_string_memory_$_t_uint256_$",
                          "typeString": "mapping(string memory => uint256)"
                        }
                      },
                      "id": 3528,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 3527,
                        "name": "_name",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3516,
                        "src": "12170:5:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "IndexAccess",
                      "src": "12152:24:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "-",
                    "rightExpression": {
                      "argumentTypes": null,
                      "hexValue": "31",
                      "id": 3529,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "12179:1:10",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_1_by_1",
                        "typeString": "int_const 1"
                      },
                      "value": "1"
                    },
                    "src": "12152:28:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "12125:55:10"
                },
                {
                  "condition": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "id": 3533,
                            "name": "memberList",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2585,
                            "src": "12211:10:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_struct$_Member_$2556_storage_$dyn_storage",
                              "typeString": "struct Members.Member storage ref[] storage ref"
                            }
                          },
                          "id": 3535,
                          "indexExpression": {
                            "argumentTypes": null,
                            "id": 3534,
                            "name": "memberIndexBaseZero",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 3525,
                            "src": "12222:19:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "12211:31:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Member_$2556_storage",
                            "typeString": "struct Members.Member storage ref"
                          }
                        },
                        "id": 3536,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "role",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 2551,
                        "src": "12211:36:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_storage",
                          "typeString": "string storage ref"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 3537,
                        "name": "_role",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3518,
                        "src": "12249:5:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_string_storage",
                          "typeString": "string storage ref"
                        },
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      ],
                      "id": 3532,
                      "name": "areStringsEqual",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 3927,
                      "src": "12195:15:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$",
                        "typeString": "function (string memory,string memory) pure returns (bool)"
                      }
                    },
                    "id": 3538,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "12195:60:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": null,
                  "id": 3541,
                  "nodeType": "IfStatement",
                  "src": "12191:99:10",
                  "trueBody": {
                    "id": 3540,
                    "nodeType": "Block",
                    "src": "12257:33:10",
                    "statements": [
                      {
                        "expression": null,
                        "functionReturnParameters": 3523,
                        "id": 3539,
                        "nodeType": "Return",
                        "src": "12272:7:10"
                      }
                    ]
                  }
                },
                {
                  "condition": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 3543,
                          "name": "memberList",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 2585,
                          "src": "12314:10:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_struct$_Member_$2556_storage_$dyn_storage",
                            "typeString": "struct Members.Member storage ref[] storage ref"
                          }
                        },
                        "id": 3545,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 3544,
                          "name": "memberIndexBaseZero",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3525,
                          "src": "12325:19:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "12314:31:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Member_$2556_storage",
                          "typeString": "struct Members.Member storage ref"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_struct$_Member_$2556_storage",
                          "typeString": "struct Members.Member storage ref"
                        }
                      ],
                      "id": 3542,
                      "name": "isAdmin",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 3638,
                      "src": "12306:7:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_struct$_Member_$2556_memory_ptr_$returns$_t_bool_$",
                        "typeString": "function (struct Members.Member memory) view returns (bool)"
                      }
                    },
                    "id": 3546,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "12306:40:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": null,
                  "id": 3563,
                  "nodeType": "IfStatement",
                  "src": "12302:205:10",
                  "trueBody": {
                    "id": 3562,
                    "nodeType": "Block",
                    "src": "12348:159:10",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "commonType": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              "id": 3550,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftExpression": {
                                "argumentTypes": null,
                                "id": 3548,
                                "name": "adminCount",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 2587,
                                "src": "12370:10:10",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "nodeType": "BinaryOperation",
                              "operator": ">",
                              "rightExpression": {
                                "argumentTypes": null,
                                "hexValue": "30",
                                "id": 3549,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "number",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "12383:1:10",
                                "subdenomination": null,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_rational_0_by_1",
                                  "typeString": "int_const 0"
                                },
                                "value": "0"
                              },
                              "src": "12370:14:10",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            ],
                            "id": 3547,
                            "name": "assert",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4085,
                            "src": "12363:6:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_assert_pure$_t_bool_$returns$__$",
                              "typeString": "function (bool) pure"
                            }
                          },
                          "id": 3551,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "12363:22:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 3552,
                        "nodeType": "ExpressionStatement",
                        "src": "12363:22:10"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 3554,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "UnaryOperation",
                          "operator": "--",
                          "prefix": false,
                          "src": "12400:12:10",
                          "subExpression": {
                            "argumentTypes": null,
                            "id": 3553,
                            "name": "adminCount",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2587,
                            "src": "12400:10:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 3555,
                        "nodeType": "ExpressionStatement",
                        "src": "12400:12:10"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "arguments": [],
                              "expression": {
                                "argumentTypes": [],
                                "id": 3557,
                                "name": "existAdmins",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 3592,
                                "src": "12435:11:10",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$",
                                  "typeString": "function () view returns (bool)"
                                }
                              },
                              "id": 3558,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "12435:13:10",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "hexValue": "436f6e736f727469756d2073686f756c642068617665206174206c65617374206f6e652061646d696e2e",
                              "id": 3559,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "string",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "12450:44:10",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_stringliteral_ef68e62a3ddadf21cd47fb77c2e5c627ed835774918a93f288717432c85891c6",
                                "typeString": "literal_string \"Consortium should have at least one admin.\""
                              },
                              "value": "Consortium should have at least one admin."
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              },
                              {
                                "typeIdentifier": "t_stringliteral_ef68e62a3ddadf21cd47fb77c2e5c627ed835774918a93f288717432c85891c6",
                                "typeString": "literal_string \"Consortium should have at least one admin.\""
                              }
                            ],
                            "id": 3556,
                            "name": "require",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [
                              4099,
                              4100
                            ],
                            "referencedDeclaration": 4100,
                            "src": "12427:7:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                              "typeString": "function (bool,string memory) pure"
                            }
                          },
                          "id": 3560,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "12427:68:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 3561,
                        "nodeType": "ExpressionStatement",
                        "src": "12427:68:10"
                      }
                    ]
                  }
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 3569,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 3564,
                          "name": "memberList",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 2585,
                          "src": "12519:10:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_struct$_Member_$2556_storage_$dyn_storage",
                            "typeString": "struct Members.Member storage ref[] storage ref"
                          }
                        },
                        "id": 3566,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 3565,
                          "name": "memberIndexBaseZero",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3525,
                          "src": "12530:19:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "12519:31:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Member_$2556_storage",
                          "typeString": "struct Members.Member storage ref"
                        }
                      },
                      "id": 3567,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "role",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 2551,
                      "src": "12519:36:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_storage",
                        "typeString": "string storage ref"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 3568,
                      "name": "_role",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 3518,
                      "src": "12558:5:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_memory_ptr",
                        "typeString": "string memory"
                      }
                    },
                    "src": "12519:44:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage",
                      "typeString": "string storage ref"
                    }
                  },
                  "id": 3570,
                  "nodeType": "ExpressionStatement",
                  "src": "12519:44:10"
                },
                {
                  "condition": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 3572,
                          "name": "memberList",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 2585,
                          "src": "12588:10:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_struct$_Member_$2556_storage_$dyn_storage",
                            "typeString": "struct Members.Member storage ref[] storage ref"
                          }
                        },
                        "id": 3574,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 3573,
                          "name": "memberIndexBaseZero",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3525,
                          "src": "12599:19:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "12588:31:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Member_$2556_storage",
                          "typeString": "struct Members.Member storage ref"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_struct$_Member_$2556_storage",
                          "typeString": "struct Members.Member storage ref"
                        }
                      ],
                      "id": 3571,
                      "name": "isAdmin",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 3638,
                      "src": "12580:7:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_struct$_Member_$2556_memory_ptr_$returns$_t_bool_$",
                        "typeString": "function (struct Members.Member memory) view returns (bool)"
                      }
                    },
                    "id": 3575,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "12580:40:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": null,
                  "id": 3580,
                  "nodeType": "IfStatement",
                  "src": "12576:85:10",
                  "trueBody": {
                    "id": 3579,
                    "nodeType": "Block",
                    "src": "12622:39:10",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 3577,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "UnaryOperation",
                          "operator": "++",
                          "prefix": false,
                          "src": "12637:12:10",
                          "subExpression": {
                            "argumentTypes": null,
                            "id": 3576,
                            "name": "adminCount",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2587,
                            "src": "12637:10:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 3578,
                        "nodeType": "ExpressionStatement",
                        "src": "12637:12:10"
                      }
                    ]
                  }
                }
              ]
            },
            "documentation": null,
            "id": 3582,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "id": 3521,
                    "name": "_name",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 3516,
                    "src": "12107:5:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory_ptr",
                      "typeString": "string memory"
                    }
                  }
                ],
                "id": 3522,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 3520,
                  "name": "isMemberExisted",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 2648,
                  "src": "12091:15:10",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$_t_string_memory_ptr_$",
                    "typeString": "modifier (string memory)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "12091:22:10"
              }
            ],
            "name": "_setMemberRole",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3519,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3516,
                  "name": "_name",
                  "nodeType": "VariableDeclaration",
                  "scope": 3582,
                  "src": "12041:19:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 3515,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "12041:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3518,
                  "name": "_role",
                  "nodeType": "VariableDeclaration",
                  "scope": 3582,
                  "src": "12062:19:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 3517,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "12062:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "12040:42:10"
            },
            "payable": false,
            "returnParameters": {
              "id": 3523,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "12114:0:10"
            },
            "scope": 3928,
            "src": "12017:651:10",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "private"
          },
          {
            "body": {
              "id": 3591,
              "nodeType": "Block",
              "src": "12727:40:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 3589,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 3587,
                      "name": "adminCount",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 2587,
                      "src": "12745:10:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": ">",
                    "rightExpression": {
                      "argumentTypes": null,
                      "hexValue": "30",
                      "id": 3588,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "12758:1:10",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "src": "12745:14:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "functionReturnParameters": 3586,
                  "id": 3590,
                  "nodeType": "Return",
                  "src": "12738:21:10"
                }
              ]
            },
            "documentation": null,
            "id": 3592,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "existAdmins",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3583,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "12696:2:10"
            },
            "payable": false,
            "returnParameters": {
              "id": 3586,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3585,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 3592,
                  "src": "12721:4:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 3584,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "12721:4:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "12720:6:10"
            },
            "scope": 3928,
            "src": "12676:91:10",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "private"
          },
          {
            "body": {
              "id": 3605,
              "nodeType": "Block",
              "src": "12850:54:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 3603,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 3599,
                        "name": "memberIndexByName",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2578,
                        "src": "12868:17:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_string_memory_$_t_uint256_$",
                          "typeString": "mapping(string memory => uint256)"
                        }
                      },
                      "id": 3601,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 3600,
                        "name": "_name",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3594,
                        "src": "12886:5:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "IndexAccess",
                      "src": "12868:24:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": ">",
                    "rightExpression": {
                      "argumentTypes": null,
                      "hexValue": "30",
                      "id": 3602,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "12895:1:10",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "src": "12868:28:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "functionReturnParameters": 3598,
                  "id": 3604,
                  "nodeType": "Return",
                  "src": "12861:35:10"
                }
              ]
            },
            "documentation": null,
            "id": 3606,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "existsMemberName",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3595,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3594,
                  "name": "_name",
                  "nodeType": "VariableDeclaration",
                  "scope": 3606,
                  "src": "12801:19:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 3593,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "12801:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "12800:21:10"
            },
            "payable": false,
            "returnParameters": {
              "id": 3598,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3597,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 3606,
                  "src": "12844:4:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 3596,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "12844:4:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "12843:6:10"
            },
            "scope": 3928,
            "src": "12775:129:10",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "private"
          },
          {
            "body": {
              "id": 3619,
              "nodeType": "Block",
              "src": "12987:60:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 3617,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 3613,
                        "name": "memberIndexByAddress",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2582,
                        "src": "13005:20:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                          "typeString": "mapping(address => uint256)"
                        }
                      },
                      "id": 3615,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 3614,
                        "name": "_address",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3608,
                        "src": "13026:8:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "IndexAccess",
                      "src": "13005:30:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": ">",
                    "rightExpression": {
                      "argumentTypes": null,
                      "hexValue": "30",
                      "id": 3616,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "13038:1:10",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "src": "13005:34:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "functionReturnParameters": 3612,
                  "id": 3618,
                  "nodeType": "Return",
                  "src": "12998:41:10"
                }
              ]
            },
            "documentation": null,
            "id": 3620,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "existsMemberAddress",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3609,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3608,
                  "name": "_address",
                  "nodeType": "VariableDeclaration",
                  "scope": 3620,
                  "src": "12941:16:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 3607,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "12941:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "12940:18:10"
            },
            "payable": false,
            "returnParameters": {
              "id": 3612,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3611,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 3620,
                  "src": "12981:4:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 3610,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "12981:4:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "12980:6:10"
            },
            "scope": 3928,
            "src": "12912:135:10",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "private"
          },
          {
            "body": {
              "id": 3637,
              "nodeType": "Block",
              "src": "13116:85:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    },
                    "id": 3635,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 3628,
                            "name": "_member",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 3622,
                            "src": "13151:7:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Member_$2556_memory_ptr",
                              "typeString": "struct Members.Member memory"
                            }
                          },
                          "id": 3629,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "name",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 2545,
                          "src": "13151:12:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_string_memory",
                            "typeString": "string memory"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_string_memory",
                            "typeString": "string memory"
                          }
                        ],
                        "id": 3627,
                        "name": "existsMemberName",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3606,
                        "src": "13134:16:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$_t_bool_$",
                          "typeString": "function (string memory) view returns (bool)"
                        }
                      },
                      "id": 3630,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "13134:30:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "&&",
                    "rightExpression": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 3632,
                            "name": "_member",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 3622,
                            "src": "13180:7:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Member_$2556_memory_ptr",
                              "typeString": "struct Members.Member memory"
                            }
                          },
                          "id": 3633,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "role",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 2551,
                          "src": "13180:12:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_string_memory",
                            "typeString": "string memory"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_string_memory",
                            "typeString": "string memory"
                          }
                        ],
                        "id": 3631,
                        "name": "isAdminRole",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3903,
                        "src": "13168:11:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_bool_$",
                          "typeString": "function (string memory) pure returns (bool)"
                        }
                      },
                      "id": 3634,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "13168:25:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "src": "13134:59:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "functionReturnParameters": 3626,
                  "id": 3636,
                  "nodeType": "Return",
                  "src": "13127:66:10"
                }
              ]
            },
            "documentation": null,
            "id": 3638,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "isAdmin",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3623,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3622,
                  "name": "_member",
                  "nodeType": "VariableDeclaration",
                  "scope": 3638,
                  "src": "13072:14:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_Member_$2556_memory_ptr",
                    "typeString": "struct Members.Member"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 3621,
                    "name": "Member",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 2556,
                    "src": "13072:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Member_$2556_storage_ptr",
                      "typeString": "struct Members.Member"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "13071:16:10"
            },
            "payable": false,
            "returnParameters": {
              "id": 3626,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3625,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 3638,
                  "src": "13110:4:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 3624,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "13110:4:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "13109:6:10"
            },
            "scope": 3928,
            "src": "13055:146:10",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "private"
          },
          {
            "body": {
              "id": 3659,
              "nodeType": "Block",
              "src": "13279:114:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    },
                    "id": 3657,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "id": 3646,
                          "name": "_address",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3640,
                          "src": "13317:8:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        ],
                        "id": 3645,
                        "name": "existsMemberAddress",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3620,
                        "src": "13297:19:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$",
                          "typeString": "function (address) view returns (bool)"
                        }
                      },
                      "id": 3647,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "13297:29:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "&&",
                    "rightExpression": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "id": 3649,
                            "name": "memberList",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2585,
                            "src": "13338:10:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_struct$_Member_$2556_storage_$dyn_storage",
                              "typeString": "struct Members.Member storage ref[] storage ref"
                            }
                          },
                          "id": 3655,
                          "indexExpression": {
                            "argumentTypes": null,
                            "commonType": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            "id": 3654,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "leftExpression": {
                              "argumentTypes": null,
                              "baseExpression": {
                                "argumentTypes": null,
                                "id": 3650,
                                "name": "memberIndexByAddress",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 2582,
                                "src": "13349:20:10",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                                  "typeString": "mapping(address => uint256)"
                                }
                              },
                              "id": 3652,
                              "indexExpression": {
                                "argumentTypes": null,
                                "id": 3651,
                                "name": "_address",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 3640,
                                "src": "13370:8:10",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "13349:30:10",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "nodeType": "BinaryOperation",
                            "operator": "-",
                            "rightExpression": {
                              "argumentTypes": null,
                              "hexValue": "31",
                              "id": 3653,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "13382:1:10",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_1_by_1",
                                "typeString": "int_const 1"
                              },
                              "value": "1"
                            },
                            "src": "13349:34:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "13338:46:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Member_$2556_storage",
                            "typeString": "struct Members.Member storage ref"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_struct$_Member_$2556_storage",
                            "typeString": "struct Members.Member storage ref"
                          }
                        ],
                        "id": 3648,
                        "name": "isAdmin",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3638,
                        "src": "13330:7:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_view$_t_struct$_Member_$2556_memory_ptr_$returns$_t_bool_$",
                          "typeString": "function (struct Members.Member memory) view returns (bool)"
                        }
                      },
                      "id": 3656,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "13330:55:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "src": "13297:88:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "functionReturnParameters": 3644,
                  "id": 3658,
                  "nodeType": "Return",
                  "src": "13290:95:10"
                }
              ]
            },
            "documentation": null,
            "id": 3660,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "isAdminAddress",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3641,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3640,
                  "name": "_address",
                  "nodeType": "VariableDeclaration",
                  "scope": 3660,
                  "src": "13233:16:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 3639,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "13233:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "13232:18:10"
            },
            "payable": false,
            "returnParameters": {
              "id": 3644,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3643,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 3660,
                  "src": "13273:4:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 3642,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "13273:4:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "13272:6:10"
            },
            "scope": 3928,
            "src": "13209:184:10",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "private"
          },
          {
            "body": {
              "id": 3684,
              "nodeType": "Block",
              "src": "13495:113:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    },
                    "id": 3682,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "id": 3670,
                          "name": "_name",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3664,
                          "src": "13530:5:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_string_memory_ptr",
                            "typeString": "string memory"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_string_memory_ptr",
                            "typeString": "string memory"
                          }
                        ],
                        "id": 3669,
                        "name": "existsMemberName",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3606,
                        "src": "13513:16:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$_t_bool_$",
                          "typeString": "function (string memory) view returns (bool)"
                        }
                      },
                      "id": 3671,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "13513:23:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "&&",
                    "rightExpression": {
                      "argumentTypes": null,
                      "commonType": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      },
                      "id": 3681,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "argumentTypes": null,
                        "id": 3672,
                        "name": "_address",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3662,
                        "src": "13540:8:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "==",
                      "rightExpression": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "id": 3673,
                            "name": "memberList",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2585,
                            "src": "13552:10:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_struct$_Member_$2556_storage_$dyn_storage",
                              "typeString": "struct Members.Member storage ref[] storage ref"
                            }
                          },
                          "id": 3679,
                          "indexExpression": {
                            "argumentTypes": null,
                            "commonType": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            "id": 3678,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "leftExpression": {
                              "argumentTypes": null,
                              "baseExpression": {
                                "argumentTypes": null,
                                "id": 3674,
                                "name": "memberIndexByName",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 2578,
                                "src": "13563:17:10",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_mapping$_t_string_memory_$_t_uint256_$",
                                  "typeString": "mapping(string memory => uint256)"
                                }
                              },
                              "id": 3676,
                              "indexExpression": {
                                "argumentTypes": null,
                                "id": 3675,
                                "name": "_name",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 3664,
                                "src": "13581:5:10",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_string_memory_ptr",
                                  "typeString": "string memory"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "13563:24:10",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "nodeType": "BinaryOperation",
                            "operator": "-",
                            "rightExpression": {
                              "argumentTypes": null,
                              "hexValue": "31",
                              "id": 3677,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "13590:1:10",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_1_by_1",
                                "typeString": "int_const 1"
                              },
                              "value": "1"
                            },
                            "src": "13563:28:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "13552:40:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Member_$2556_storage",
                            "typeString": "struct Members.Member storage ref"
                          }
                        },
                        "id": 3680,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "account",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 2553,
                        "src": "13552:48:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "src": "13540:60:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "src": "13513:87:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "functionReturnParameters": 3668,
                  "id": 3683,
                  "nodeType": "Return",
                  "src": "13506:94:10"
                }
              ]
            },
            "documentation": null,
            "id": 3685,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "isAddressOfMember",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3665,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3662,
                  "name": "_address",
                  "nodeType": "VariableDeclaration",
                  "scope": 3685,
                  "src": "13428:16:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 3661,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "13428:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3664,
                  "name": "_name",
                  "nodeType": "VariableDeclaration",
                  "scope": 3685,
                  "src": "13446:19:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 3663,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "13446:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "13427:39:10"
            },
            "payable": false,
            "returnParameters": {
              "id": 3668,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3667,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 3685,
                  "src": "13489:4:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 3666,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "13489:4:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "13488:6:10"
            },
            "scope": 3928,
            "src": "13401:207:10",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "private"
          },
          {
            "body": {
              "id": 3719,
              "nodeType": "Block",
              "src": "13728:300:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 3698,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "UnaryOperation",
                        "operator": "!",
                        "prefix": true,
                        "src": "13747:34:10",
                        "subExpression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 3696,
                              "name": "_subscriptionId",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 3687,
                              "src": "13765:15:10",
                              "typeDescriptions": {
                                "typeIdentifier": "t_string_memory_ptr",
                                "typeString": "string memory"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_string_memory_ptr",
                                "typeString": "string memory"
                              }
                            ],
                            "id": 3695,
                            "name": "existsInvitation",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 3815,
                            "src": "13748:16:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$_t_bool_$",
                              "typeString": "function (string memory) view returns (bool)"
                            }
                          },
                          "id": 3697,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "13748:33:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "41206d656d62657220696e7669746174696f6e2077697468207375636820737562736372697074696f6e20696420616c7265616479206578697374732e",
                        "id": 3699,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "13783:63:10",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_c96d74d4e74a0fe1b416ce176a11826cfdaae3d9b49737cb53f874bed95645ec",
                          "typeString": "literal_string \"A member invitation with such subscription id already exists.\""
                        },
                        "value": "A member invitation with such subscription id already exists."
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_c96d74d4e74a0fe1b416ce176a11826cfdaae3d9b49737cb53f874bed95645ec",
                          "typeString": "literal_string \"A member invitation with such subscription id already exists.\""
                        }
                      ],
                      "id": 3694,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        4099,
                        4100
                      ],
                      "referencedDeclaration": 4100,
                      "src": "13739:7:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 3700,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "13739:108:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 3701,
                  "nodeType": "ExpressionStatement",
                  "src": "13739:108:10"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 3706,
                            "name": "_subscriptionId",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 3687,
                            "src": "13897:15:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 3707,
                            "name": "_role",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 3689,
                            "src": "13914:5:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 3708,
                            "name": "_correlationId",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 3691,
                            "src": "13921:14:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            },
                            {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            },
                            {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          ],
                          "id": 3705,
                          "name": "MemberInvitation",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 2563,
                          "src": "13880:16:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_struct$_MemberInvitation_$2563_storage_ptr_$",
                            "typeString": "type(struct Members.MemberInvitation storage pointer)"
                          }
                        },
                        "id": 3709,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "structConstructorCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "13880:56:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_MemberInvitation_$2563_memory",
                          "typeString": "struct Members.MemberInvitation memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_struct$_MemberInvitation_$2563_memory",
                          "typeString": "struct Members.MemberInvitation memory"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 3702,
                        "name": "invitationList",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2596,
                        "src": "13860:14:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_MemberInvitation_$2563_storage_$dyn_storage",
                          "typeString": "struct Members.MemberInvitation storage ref[] storage ref"
                        }
                      },
                      "id": 3704,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "push",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "13860:19:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_arraypush_nonpayable$_t_struct$_MemberInvitation_$2563_storage_$returns$_t_uint256_$",
                        "typeString": "function (struct Members.MemberInvitation storage ref) returns (uint256)"
                      }
                    },
                    "id": 3710,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "13860:77:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 3711,
                  "nodeType": "ExpressionStatement",
                  "src": "13860:77:10"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 3717,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 3712,
                        "name": "invitationIndexBySubscriptionId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2593,
                        "src": "13948:31:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_string_memory_$_t_uint256_$",
                          "typeString": "mapping(string memory => uint256)"
                        }
                      },
                      "id": 3714,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 3713,
                        "name": "_subscriptionId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3687,
                        "src": "13980:15:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "IndexAccess",
                      "src": "13948:48:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "id": 3715,
                        "name": "invitationList",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2596,
                        "src": "13999:14:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_MemberInvitation_$2563_storage_$dyn_storage",
                          "typeString": "struct Members.MemberInvitation storage ref[] storage ref"
                        }
                      },
                      "id": 3716,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "length",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "13999:21:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "13948:72:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 3718,
                  "nodeType": "ExpressionStatement",
                  "src": "13948:72:10"
                }
              ]
            },
            "documentation": null,
            "id": 3720,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "_addInvitation",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3692,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3687,
                  "name": "_subscriptionId",
                  "nodeType": "VariableDeclaration",
                  "scope": 3720,
                  "src": "13642:29:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 3686,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "13642:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3689,
                  "name": "_role",
                  "nodeType": "VariableDeclaration",
                  "scope": 3720,
                  "src": "13673:19:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 3688,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "13673:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3691,
                  "name": "_correlationId",
                  "nodeType": "VariableDeclaration",
                  "scope": 3720,
                  "src": "13694:19:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 3690,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "13694:4:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "13641:73:10"
            },
            "payable": false,
            "returnParameters": {
              "id": 3693,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "13728:0:10"
            },
            "scope": 3928,
            "src": "13618:410:10",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "private"
          },
          {
            "body": {
              "id": 3778,
              "nodeType": "Block",
              "src": "14144:543:10",
              "statements": [
                {
                  "assignments": [
                    3729
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 3729,
                      "name": "invitationIndexBaseZero",
                      "nodeType": "VariableDeclaration",
                      "scope": 3779,
                      "src": "14155:28:10",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 3728,
                        "name": "uint",
                        "nodeType": "ElementaryTypeName",
                        "src": "14155:4:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 3735,
                  "initialValue": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 3734,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 3730,
                        "name": "invitationIndexBySubscriptionId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2593,
                        "src": "14186:31:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_string_memory_$_t_uint256_$",
                          "typeString": "mapping(string memory => uint256)"
                        }
                      },
                      "id": 3732,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 3731,
                        "name": "_subscriptionId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3722,
                        "src": "14218:15:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "IndexAccess",
                      "src": "14186:48:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "-",
                    "rightExpression": {
                      "argumentTypes": null,
                      "hexValue": "31",
                      "id": 3733,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "14237:1:10",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_1_by_1",
                        "typeString": "int_const 1"
                      },
                      "value": "1"
                    },
                    "src": "14186:52:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "14155:83:10"
                },
                {
                  "assignments": [
                    3737
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 3737,
                      "name": "invitationToMove",
                      "nodeType": "VariableDeclaration",
                      "scope": 3779,
                      "src": "14259:41:10",
                      "stateVariable": false,
                      "storageLocation": "storage",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_MemberInvitation_$2563_storage_ptr",
                        "typeString": "struct Members.MemberInvitation"
                      },
                      "typeName": {
                        "contractScope": null,
                        "id": 3736,
                        "name": "MemberInvitation",
                        "nodeType": "UserDefinedTypeName",
                        "referencedDeclaration": 2563,
                        "src": "14259:16:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_MemberInvitation_$2563_storage_ptr",
                          "typeString": "struct Members.MemberInvitation"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 3744,
                  "initialValue": {
                    "argumentTypes": null,
                    "baseExpression": {
                      "argumentTypes": null,
                      "id": 3738,
                      "name": "invitationList",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 2596,
                      "src": "14303:14:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_struct$_MemberInvitation_$2563_storage_$dyn_storage",
                        "typeString": "struct Members.MemberInvitation storage ref[] storage ref"
                      }
                    },
                    "id": 3743,
                    "indexExpression": {
                      "argumentTypes": null,
                      "commonType": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "id": 3742,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 3739,
                          "name": "invitationList",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 2596,
                          "src": "14318:14:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_struct$_MemberInvitation_$2563_storage_$dyn_storage",
                            "typeString": "struct Members.MemberInvitation storage ref[] storage ref"
                          }
                        },
                        "id": 3740,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "length",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": null,
                        "src": "14318:21:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "-",
                      "rightExpression": {
                        "argumentTypes": null,
                        "hexValue": "31",
                        "id": 3741,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "14342:1:10",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_1_by_1",
                          "typeString": "int_const 1"
                        },
                        "value": "1"
                      },
                      "src": "14318:25:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "IndexAccess",
                    "src": "14303:41:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_MemberInvitation_$2563_storage",
                      "typeString": "struct Members.MemberInvitation storage ref"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "14259:85:10"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 3749,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 3745,
                        "name": "invitationList",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2596,
                        "src": "14355:14:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_MemberInvitation_$2563_storage_$dyn_storage",
                          "typeString": "struct Members.MemberInvitation storage ref[] storage ref"
                        }
                      },
                      "id": 3747,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 3746,
                        "name": "invitationIndexBaseZero",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3729,
                        "src": "14370:23:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "IndexAccess",
                      "src": "14355:39:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_MemberInvitation_$2563_storage",
                        "typeString": "struct Members.MemberInvitation storage ref"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 3748,
                      "name": "invitationToMove",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 3737,
                      "src": "14397:16:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_MemberInvitation_$2563_storage_ptr",
                        "typeString": "struct Members.MemberInvitation storage pointer"
                      }
                    },
                    "src": "14355:58:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_MemberInvitation_$2563_storage",
                      "typeString": "struct Members.MemberInvitation storage ref"
                    }
                  },
                  "id": 3750,
                  "nodeType": "ExpressionStatement",
                  "src": "14355:58:10"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 3758,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 3751,
                        "name": "invitationIndexBySubscriptionId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2593,
                        "src": "14424:31:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_string_memory_$_t_uint256_$",
                          "typeString": "mapping(string memory => uint256)"
                        }
                      },
                      "id": 3754,
                      "indexExpression": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 3752,
                          "name": "invitationToMove",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3737,
                          "src": "14456:16:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_MemberInvitation_$2563_storage_ptr",
                            "typeString": "struct Members.MemberInvitation storage pointer"
                          }
                        },
                        "id": 3753,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "subscriptionId",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 2558,
                        "src": "14456:31:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_storage",
                          "typeString": "string storage ref"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "IndexAccess",
                      "src": "14424:64:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "commonType": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "id": 3757,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "argumentTypes": null,
                        "id": 3755,
                        "name": "invitationIndexBaseZero",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3729,
                        "src": "14491:23:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "+",
                      "rightExpression": {
                        "argumentTypes": null,
                        "hexValue": "31",
                        "id": 3756,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "14517:1:10",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_1_by_1",
                          "typeString": "int_const 1"
                        },
                        "value": "1"
                      },
                      "src": "14491:27:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "14424:94:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 3759,
                  "nodeType": "ExpressionStatement",
                  "src": "14424:94:10"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 3763,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "UnaryOperation",
                    "operator": "delete",
                    "prefix": true,
                    "src": "14531:55:10",
                    "subExpression": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 3760,
                        "name": "invitationIndexBySubscriptionId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2593,
                        "src": "14538:31:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_string_memory_$_t_uint256_$",
                          "typeString": "mapping(string memory => uint256)"
                        }
                      },
                      "id": 3762,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 3761,
                        "name": "_subscriptionId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3722,
                        "src": "14570:15:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "IndexAccess",
                      "src": "14538:48:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 3764,
                  "nodeType": "ExpressionStatement",
                  "src": "14531:55:10"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 3771,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "UnaryOperation",
                    "operator": "delete",
                    "prefix": true,
                    "src": "14597:48:10",
                    "subExpression": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 3765,
                        "name": "invitationList",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2596,
                        "src": "14604:14:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_MemberInvitation_$2563_storage_$dyn_storage",
                          "typeString": "struct Members.MemberInvitation storage ref[] storage ref"
                        }
                      },
                      "id": 3770,
                      "indexExpression": {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 3769,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 3766,
                            "name": "invitationList",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2596,
                            "src": "14619:14:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_struct$_MemberInvitation_$2563_storage_$dyn_storage",
                              "typeString": "struct Members.MemberInvitation storage ref[] storage ref"
                            }
                          },
                          "id": 3767,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "length",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "14619:21:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "-",
                        "rightExpression": {
                          "argumentTypes": null,
                          "hexValue": "31",
                          "id": 3768,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "14643:1:10",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_1_by_1",
                            "typeString": "int_const 1"
                          },
                          "value": "1"
                        },
                        "src": "14619:25:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "IndexAccess",
                      "src": "14604:41:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_MemberInvitation_$2563_storage",
                        "typeString": "struct Members.MemberInvitation storage ref"
                      }
                    },
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 3772,
                  "nodeType": "ExpressionStatement",
                  "src": "14597:48:10"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 3776,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "UnaryOperation",
                    "operator": "--",
                    "prefix": false,
                    "src": "14656:23:10",
                    "subExpression": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "id": 3773,
                        "name": "invitationList",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2596,
                        "src": "14656:14:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_MemberInvitation_$2563_storage_$dyn_storage",
                          "typeString": "struct Members.MemberInvitation storage ref[] storage ref"
                        }
                      },
                      "id": 3775,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "length",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "14656:21:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 3777,
                  "nodeType": "ExpressionStatement",
                  "src": "14656:23:10"
                }
              ]
            },
            "documentation": null,
            "id": 3779,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "id": 3725,
                    "name": "_subscriptionId",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 3722,
                    "src": "14122:15:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory_ptr",
                      "typeString": "string memory"
                    }
                  }
                ],
                "id": 3726,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 3724,
                  "name": "isInvitationExisted",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 2661,
                  "src": "14102:19:10",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$_t_string_memory_ptr_$",
                    "typeString": "modifier (string memory)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "14102:36:10"
              }
            ],
            "name": "_removeInvitation",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3723,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3722,
                  "name": "_subscriptionId",
                  "nodeType": "VariableDeclaration",
                  "scope": 3779,
                  "src": "14063:29:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 3721,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "14063:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "14062:31:10"
            },
            "payable": false,
            "returnParameters": {
              "id": 3727,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "14144:0:10"
            },
            "scope": 3928,
            "src": "14036:651:10",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "private"
          },
          {
            "body": {
              "id": 3800,
              "nodeType": "Block",
              "src": "14820:100:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 3798,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 3789,
                          "name": "invitationList",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 2596,
                          "src": "14831:14:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_struct$_MemberInvitation_$2563_storage_$dyn_storage",
                            "typeString": "struct Members.MemberInvitation storage ref[] storage ref"
                          }
                        },
                        "id": 3795,
                        "indexExpression": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 3794,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 3790,
                              "name": "invitationIndexBySubscriptionId",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 2593,
                              "src": "14846:31:10",
                              "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_string_memory_$_t_uint256_$",
                                "typeString": "mapping(string memory => uint256)"
                              }
                            },
                            "id": 3792,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 3791,
                              "name": "_subscriptionId",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 3781,
                              "src": "14878:15:10",
                              "typeDescriptions": {
                                "typeIdentifier": "t_string_memory_ptr",
                                "typeString": "string memory"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "14846:48:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "-",
                          "rightExpression": {
                            "argumentTypes": null,
                            "hexValue": "31",
                            "id": 3793,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "14897:1:10",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_1_by_1",
                              "typeString": "int_const 1"
                            },
                            "value": "1"
                          },
                          "src": "14846:52:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "14831:68:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_MemberInvitation_$2563_storage",
                          "typeString": "struct Members.MemberInvitation storage ref"
                        }
                      },
                      "id": 3796,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "role",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 2560,
                      "src": "14831:73:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_storage",
                        "typeString": "string storage ref"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 3797,
                      "name": "_role",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 3783,
                      "src": "14907:5:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_memory_ptr",
                        "typeString": "string memory"
                      }
                    },
                    "src": "14831:81:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage",
                      "typeString": "string storage ref"
                    }
                  },
                  "id": 3799,
                  "nodeType": "ExpressionStatement",
                  "src": "14831:81:10"
                }
              ]
            },
            "documentation": null,
            "id": 3801,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "id": 3786,
                    "name": "_subscriptionId",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 3781,
                    "src": "14803:15:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory_ptr",
                      "typeString": "string memory"
                    }
                  }
                ],
                "id": 3787,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 3785,
                  "name": "isInvitationExisted",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 2661,
                  "src": "14783:19:10",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$_t_string_memory_ptr_$",
                    "typeString": "modifier (string memory)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "14783:36:10"
              }
            ],
            "name": "_setInvitationRole",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3784,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3781,
                  "name": "_subscriptionId",
                  "nodeType": "VariableDeclaration",
                  "scope": 3801,
                  "src": "14723:29:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 3780,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "14723:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3783,
                  "name": "_role",
                  "nodeType": "VariableDeclaration",
                  "scope": 3801,
                  "src": "14754:19:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 3782,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "14754:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "14722:52:10"
            },
            "payable": false,
            "returnParameters": {
              "id": 3788,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "14820:0:10"
            },
            "scope": 3928,
            "src": "14695:225:10",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "private"
          },
          {
            "body": {
              "id": 3814,
              "nodeType": "Block",
              "src": "15013:78:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 3812,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 3808,
                        "name": "invitationIndexBySubscriptionId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2593,
                        "src": "15031:31:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_string_memory_$_t_uint256_$",
                          "typeString": "mapping(string memory => uint256)"
                        }
                      },
                      "id": 3810,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 3809,
                        "name": "_subscriptionId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3803,
                        "src": "15063:15:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "IndexAccess",
                      "src": "15031:48:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": ">",
                    "rightExpression": {
                      "argumentTypes": null,
                      "hexValue": "30",
                      "id": 3811,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "15082:1:10",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "src": "15031:52:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "functionReturnParameters": 3807,
                  "id": 3813,
                  "nodeType": "Return",
                  "src": "15024:59:10"
                }
              ]
            },
            "documentation": null,
            "id": 3815,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "existsInvitation",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3804,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3803,
                  "name": "_subscriptionId",
                  "nodeType": "VariableDeclaration",
                  "scope": 3815,
                  "src": "14954:29:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 3802,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "14954:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "14953:31:10"
            },
            "payable": false,
            "returnParameters": {
              "id": 3807,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3806,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 3815,
                  "src": "15007:4:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 3805,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "15007:4:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "15006:6:10"
            },
            "scope": 3928,
            "src": "14928:163:10",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "private"
          },
          {
            "body": {
              "id": 3828,
              "nodeType": "Block",
              "src": "15178:59:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    },
                    "id": 3826,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 3822,
                      "name": "_address",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 3817,
                      "src": "15196:8:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "==",
                    "rightExpression": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "id": 3824,
                          "name": "rootContract",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7,
                          "src": "15216:12:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_contract$_RootContract_$4081",
                            "typeString": "contract RootContract"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_contract$_RootContract_$4081",
                            "typeString": "contract RootContract"
                          }
                        ],
                        "id": 3823,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "nodeType": "ElementaryTypeNameExpression",
                        "src": "15208:7:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_address_$",
                          "typeString": "type(address)"
                        },
                        "typeName": "address"
                      },
                      "id": 3825,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "typeConversion",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "15208:21:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "src": "15196:33:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "functionReturnParameters": 3821,
                  "id": 3827,
                  "nodeType": "Return",
                  "src": "15189:40:10"
                }
              ]
            },
            "documentation": null,
            "id": 3829,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "isRootContractAddress",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3818,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3817,
                  "name": "_address",
                  "nodeType": "VariableDeclaration",
                  "scope": 3829,
                  "src": "15132:16:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 3816,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "15132:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "15131:18:10"
            },
            "payable": false,
            "returnParameters": {
              "id": 3821,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3820,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 3829,
                  "src": "15172:4:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 3819,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "15172:4:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "15171:6:10"
            },
            "scope": 3928,
            "src": "15101:136:10",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "private"
          },
          {
            "body": {
              "id": 3842,
              "nodeType": "Block",
              "src": "15318:61:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    },
                    "id": 3840,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 3836,
                      "name": "_address",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 3831,
                      "src": "15336:8:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "==",
                    "rightExpression": {
                      "argumentTypes": null,
                      "arguments": [],
                      "expression": {
                        "argumentTypes": [],
                        "expression": {
                          "argumentTypes": null,
                          "id": 3837,
                          "name": "rootContract",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7,
                          "src": "15348:12:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_contract$_RootContract_$4081",
                            "typeString": "contract RootContract"
                          }
                        },
                        "id": 3838,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "operator",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 3995,
                        "src": "15348:21:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_external_view$__$returns$_t_address_$",
                          "typeString": "function () view external returns (address)"
                        }
                      },
                      "id": 3839,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "15348:23:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "src": "15336:35:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "functionReturnParameters": 3835,
                  "id": 3841,
                  "nodeType": "Return",
                  "src": "15329:42:10"
                }
              ]
            },
            "documentation": null,
            "id": 3843,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "isOperatorAddress",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3832,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3831,
                  "name": "_address",
                  "nodeType": "VariableDeclaration",
                  "scope": 3843,
                  "src": "15272:16:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 3830,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "15272:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "15271:18:10"
            },
            "payable": false,
            "returnParameters": {
              "id": 3835,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3834,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 3843,
                  "src": "15312:4:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 3833,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "15312:4:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "15311:6:10"
            },
            "scope": 3928,
            "src": "15245:134:10",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "private"
          },
          {
            "body": {
              "id": 3889,
              "nodeType": "Block",
              "src": "15473:439:10",
              "statements": [
                {
                  "assignments": [
                    3853
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 3853,
                      "name": "versionContractAddress",
                      "nodeType": "VariableDeclaration",
                      "scope": 3890,
                      "src": "15484:30:10",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      },
                      "typeName": {
                        "id": 3852,
                        "name": "address",
                        "nodeType": "ElementaryTypeName",
                        "src": "15484:7:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 3858,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "hexValue": "436f6e736f727469756d4d616e6167656d656e74436f6e747261637456657273696f6e",
                        "id": 3856,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "15542:37:10",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_69033be35e640bd5d159d71b0b0228ac59a9d2d36e79ed81e0d7b2a7c8ff9c11",
                          "typeString": "literal_string \"ConsortiumManagementContractVersion\""
                        },
                        "value": "ConsortiumManagementContractVersion"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_stringliteral_69033be35e640bd5d159d71b0b0228ac59a9d2d36e79ed81e0d7b2a7c8ff9c11",
                          "typeString": "literal_string \"ConsortiumManagementContractVersion\""
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 3854,
                        "name": "rootContract",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7,
                        "src": "15517:12:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_RootContract_$4081",
                          "typeString": "contract RootContract"
                        }
                      },
                      "id": 3855,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "getContract",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 4038,
                      "src": "15517:24:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$returns$_t_address_$",
                        "typeString": "function (string memory) view external returns (address)"
                      }
                    },
                    "id": 3857,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "15517:63:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "15484:96:10"
                },
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    },
                    "id": 3863,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 3859,
                      "name": "versionContractAddress",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 3853,
                      "src": "15595:22:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "==",
                    "rightExpression": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "hexValue": "30",
                          "id": 3861,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "15629:1:10",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_0_by_1",
                            "typeString": "int_const 0"
                          },
                          "value": "0"
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_rational_0_by_1",
                            "typeString": "int_const 0"
                          }
                        ],
                        "id": 3860,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "nodeType": "ElementaryTypeNameExpression",
                        "src": "15621:7:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_address_$",
                          "typeString": "type(address)"
                        },
                        "typeName": "address"
                      },
                      "id": 3862,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "typeConversion",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "15621:10:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "src": "15595:36:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "id": 3887,
                    "nodeType": "Block",
                    "src": "15691:214:10",
                    "statements": [
                      {
                        "assignments": [
                          3871
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 3871,
                            "name": "version",
                            "nodeType": "VariableDeclaration",
                            "scope": 3890,
                            "src": "15706:43:10",
                            "stateVariable": false,
                            "storageLocation": "default",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_ConsortiumManagementContractVersion_$106",
                              "typeString": "contract ConsortiumManagementContractVersion"
                            },
                            "typeName": {
                              "contractScope": null,
                              "id": 3870,
                              "name": "ConsortiumManagementContractVersion",
                              "nodeType": "UserDefinedTypeName",
                              "referencedDeclaration": 106,
                              "src": "15706:35:10",
                              "typeDescriptions": {
                                "typeIdentifier": "t_contract$_ConsortiumManagementContractVersion_$106",
                                "typeString": "contract ConsortiumManagementContractVersion"
                              }
                            },
                            "value": null,
                            "visibility": "internal"
                          }
                        ],
                        "id": 3875,
                        "initialValue": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 3873,
                              "name": "versionContractAddress",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 3853,
                              "src": "15788:22:10",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            ],
                            "id": 3872,
                            "name": "ConsortiumManagementContractVersion",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 106,
                            "src": "15752:35:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_contract$_ConsortiumManagementContractVersion_$106_$",
                              "typeString": "type(contract ConsortiumManagementContractVersion)"
                            }
                          },
                          "id": 3874,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "typeConversion",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "15752:59:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_contract$_ConsortiumManagementContractVersion_$106",
                            "typeString": "contract ConsortiumManagementContractVersion"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "15706:105:10"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "components": [
                            {
                              "argumentTypes": null,
                              "arguments": [],
                              "expression": {
                                "argumentTypes": [],
                                "expression": {
                                  "argumentTypes": null,
                                  "id": 3876,
                                  "name": "version",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 3871,
                                  "src": "15834:7:10",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_contract$_ConsortiumManagementContractVersion_$106",
                                    "typeString": "contract ConsortiumManagementContractVersion"
                                  }
                                },
                                "id": 3877,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "getMajor",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 89,
                                "src": "15834:16:10",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_external_pure$__$returns$_t_uint256_$",
                                  "typeString": "function () pure external returns (uint256)"
                                }
                              },
                              "id": 3878,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "15834:18:10",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "arguments": [],
                              "expression": {
                                "argumentTypes": [],
                                "expression": {
                                  "argumentTypes": null,
                                  "id": 3879,
                                  "name": "version",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 3871,
                                  "src": "15854:7:10",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_contract$_ConsortiumManagementContractVersion_$106",
                                    "typeString": "contract ConsortiumManagementContractVersion"
                                  }
                                },
                                "id": 3880,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "getMinor",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 97,
                                "src": "15854:16:10",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_external_pure$__$returns$_t_uint256_$",
                                  "typeString": "function () pure external returns (uint256)"
                                }
                              },
                              "id": 3881,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "15854:18:10",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "arguments": [],
                              "expression": {
                                "argumentTypes": [],
                                "expression": {
                                  "argumentTypes": null,
                                  "id": 3882,
                                  "name": "version",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 3871,
                                  "src": "15874:7:10",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_contract$_ConsortiumManagementContractVersion_$106",
                                    "typeString": "contract ConsortiumManagementContractVersion"
                                  }
                                },
                                "id": 3883,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "getPatch",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 105,
                                "src": "15874:16:10",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_external_pure$__$returns$_t_uint256_$",
                                  "typeString": "function () pure external returns (uint256)"
                                }
                              },
                              "id": 3884,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "15874:18:10",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            }
                          ],
                          "id": 3885,
                          "isConstant": false,
                          "isInlineArray": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "TupleExpression",
                          "src": "15833:60:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$",
                            "typeString": "tuple(uint256,uint256,uint256)"
                          }
                        },
                        "functionReturnParameters": 3851,
                        "id": 3886,
                        "nodeType": "Return",
                        "src": "15826:67:10"
                      }
                    ]
                  },
                  "id": 3888,
                  "nodeType": "IfStatement",
                  "src": "15591:314:10",
                  "trueBody": {
                    "id": 3869,
                    "nodeType": "Block",
                    "src": "15633:43:10",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "components": [
                            {
                              "argumentTypes": null,
                              "hexValue": "30",
                              "id": 3864,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "15656:1:10",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_0_by_1",
                                "typeString": "int_const 0"
                              },
                              "value": "0"
                            },
                            {
                              "argumentTypes": null,
                              "hexValue": "30",
                              "id": 3865,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "15659:1:10",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_0_by_1",
                                "typeString": "int_const 0"
                              },
                              "value": "0"
                            },
                            {
                              "argumentTypes": null,
                              "hexValue": "30",
                              "id": 3866,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "15662:1:10",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_0_by_1",
                                "typeString": "int_const 0"
                              },
                              "value": "0"
                            }
                          ],
                          "id": 3867,
                          "isConstant": false,
                          "isInlineArray": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "nodeType": "TupleExpression",
                          "src": "15655:9:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$_t_rational_0_by_1_$_t_rational_0_by_1_$_t_rational_0_by_1_$",
                            "typeString": "tuple(int_const 0,int_const 0,int_const 0)"
                          }
                        },
                        "functionReturnParameters": 3851,
                        "id": 3868,
                        "nodeType": "Return",
                        "src": "15648:16:10"
                      }
                    ]
                  }
                }
              ]
            },
            "documentation": null,
            "id": 3890,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "getActiveVersion",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3844,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "15412:2:10"
            },
            "payable": false,
            "returnParameters": {
              "id": 3851,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3846,
                  "name": "major",
                  "nodeType": "VariableDeclaration",
                  "scope": 3890,
                  "src": "15437:10:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 3845,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "15437:4:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3848,
                  "name": "minor",
                  "nodeType": "VariableDeclaration",
                  "scope": 3890,
                  "src": "15449:10:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 3847,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "15449:4:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3850,
                  "name": "patch",
                  "nodeType": "VariableDeclaration",
                  "scope": 3890,
                  "src": "15461:10:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 3849,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "15461:4:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "15436:36:10"
            },
            "scope": 3928,
            "src": "15387:525:10",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "private"
          },
          {
            "body": {
              "id": 3902,
              "nodeType": "Block",
              "src": "15990:60:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 3898,
                        "name": "_role",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3892,
                        "src": "16024:5:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 3899,
                        "name": "ADMIN_ROLE",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2566,
                        "src": "16031:10:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory",
                          "typeString": "string memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        },
                        {
                          "typeIdentifier": "t_string_memory",
                          "typeString": "string memory"
                        }
                      ],
                      "id": 3897,
                      "name": "areStringsEqual",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 3927,
                      "src": "16008:15:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$",
                        "typeString": "function (string memory,string memory) pure returns (bool)"
                      }
                    },
                    "id": 3900,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "16008:34:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "functionReturnParameters": 3896,
                  "id": 3901,
                  "nodeType": "Return",
                  "src": "16001:41:10"
                }
              ]
            },
            "documentation": null,
            "id": 3903,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "isAdminRole",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3893,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3892,
                  "name": "_role",
                  "nodeType": "VariableDeclaration",
                  "scope": 3903,
                  "src": "15941:19:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 3891,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "15941:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "15940:21:10"
            },
            "payable": false,
            "returnParameters": {
              "id": 3896,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3895,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 3903,
                  "src": "15984:4:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 3894,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "15984:4:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "15983:6:10"
            },
            "scope": 3928,
            "src": "15920:130:10",
            "stateMutability": "pure",
            "superFunction": null,
            "visibility": "private"
          },
          {
            "body": {
              "id": 3926,
              "nodeType": "Block",
              "src": "16153:98:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    },
                    "id": 3924,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 3915,
                              "name": "_str1",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 3905,
                              "src": "16198:5:10",
                              "typeDescriptions": {
                                "typeIdentifier": "t_string_memory_ptr",
                                "typeString": "string memory"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_string_memory_ptr",
                                "typeString": "string memory"
                              }
                            ],
                            "expression": {
                              "argumentTypes": null,
                              "id": 3913,
                              "name": "abi",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 4083,
                              "src": "16181:3:10",
                              "typeDescriptions": {
                                "typeIdentifier": "t_magic_abi",
                                "typeString": "abi"
                              }
                            },
                            "id": 3914,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "memberName": "encodePacked",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": null,
                            "src": "16181:16:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                              "typeString": "function () pure returns (bytes memory)"
                            }
                          },
                          "id": 3916,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "16181:23:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes memory"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes memory"
                          }
                        ],
                        "id": 3912,
                        "name": "keccak256",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4090,
                        "src": "16171:9:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
                          "typeString": "function () pure returns (bytes32)"
                        }
                      },
                      "id": 3917,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "16171:34:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "==",
                    "rightExpression": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 3921,
                              "name": "_str2",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 3907,
                              "src": "16236:5:10",
                              "typeDescriptions": {
                                "typeIdentifier": "t_string_memory_ptr",
                                "typeString": "string memory"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_string_memory_ptr",
                                "typeString": "string memory"
                              }
                            ],
                            "expression": {
                              "argumentTypes": null,
                              "id": 3919,
                              "name": "abi",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 4083,
                              "src": "16219:3:10",
                              "typeDescriptions": {
                                "typeIdentifier": "t_magic_abi",
                                "typeString": "abi"
                              }
                            },
                            "id": 3920,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "memberName": "encodePacked",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": null,
                            "src": "16219:16:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                              "typeString": "function () pure returns (bytes memory)"
                            }
                          },
                          "id": 3922,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "16219:23:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes memory"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes memory"
                          }
                        ],
                        "id": 3918,
                        "name": "keccak256",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4090,
                        "src": "16209:9:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
                          "typeString": "function () pure returns (bytes32)"
                        }
                      },
                      "id": 3923,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "16209:34:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "src": "16171:72:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "functionReturnParameters": 3911,
                  "id": 3925,
                  "nodeType": "Return",
                  "src": "16164:79:10"
                }
              ]
            },
            "documentation": null,
            "id": 3927,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "areStringsEqual",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3908,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3905,
                  "name": "_str1",
                  "nodeType": "VariableDeclaration",
                  "scope": 3927,
                  "src": "16083:19:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 3904,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "16083:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3907,
                  "name": "_str2",
                  "nodeType": "VariableDeclaration",
                  "scope": 3927,
                  "src": "16104:19:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 3906,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "16104:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "16082:42:10"
            },
            "payable": false,
            "returnParameters": {
              "id": 3911,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3910,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 3927,
                  "src": "16147:4:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 3909,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "16147:4:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "16146:6:10"
            },
            "scope": 3928,
            "src": "16058:193:10",
            "stateMutability": "pure",
            "superFunction": null,
            "visibility": "private"
          }
        ],
        "scope": 3929,
        "src": "292:15962:10"
      }
    ],
    "src": "0:16254:10"
  },
  "legacyAST": {
    "absolutePath": "/d/a/1/s/contracts/Members.sol",
    "exportedSymbols": {
      "Members": [
        3928
      ]
    },
    "id": 3929,
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 2537,
        "literals": [
          "solidity",
          "^",
          "0.4",
          ".24"
        ],
        "nodeType": "PragmaDirective",
        "src": "0:24:10"
      },
      {
        "absolutePath": "/d/a/1/s/contracts/BaseUpdateable.sol",
        "file": "./BaseUpdateable.sol",
        "id": 2538,
        "nodeType": "ImportDirective",
        "scope": 3929,
        "sourceUnit": 54,
        "src": "28:30:10",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "/d/a/1/s/contracts/DataMigration/PrivatePreview/PrivatePreviewMembers.sol",
        "file": "./DataMigration/PrivatePreview/PrivatePreviewMembers.sol",
        "id": 2539,
        "nodeType": "ImportDirective",
        "scope": 3929,
        "sourceUnit": 1899,
        "src": "60:66:10",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "/d/a/1/s/contracts/RootContract.sol",
        "file": "./RootContract.sol",
        "id": 2540,
        "nodeType": "ImportDirective",
        "scope": 3929,
        "sourceUnit": 4082,
        "src": "128:28:10",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "/d/a/1/s/contracts/ConsortiumManagementContractVersion.sol",
        "file": "./ConsortiumManagementContractVersion.sol",
        "id": 2541,
        "nodeType": "ImportDirective",
        "scope": 3929,
        "sourceUnit": 107,
        "src": "158:51:10",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "baseContracts": [
          {
            "arguments": null,
            "baseName": {
              "contractScope": null,
              "id": 2542,
              "name": "BaseUpdateable",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 53,
              "src": "312:14:10",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_BaseUpdateable_$53",
                "typeString": "contract BaseUpdateable"
              }
            },
            "id": 2543,
            "nodeType": "InheritanceSpecifier",
            "src": "312:14:10"
          }
        ],
        "contractDependencies": [
          53,
          2535
        ],
        "contractKind": "contract",
        "documentation": null,
        "fullyImplemented": true,
        "id": 3928,
        "linearizedBaseContracts": [
          3928,
          53,
          2535
        ],
        "name": "Members",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "canonicalName": "Members.Member",
            "id": 2556,
            "members": [
              {
                "constant": false,
                "id": 2545,
                "name": "name",
                "nodeType": "VariableDeclaration",
                "scope": 2556,
                "src": "361:11:10",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_string_storage_ptr",
                  "typeString": "string"
                },
                "typeName": {
                  "id": 2544,
                  "name": "string",
                  "nodeType": "ElementaryTypeName",
                  "src": "361:6:10",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_storage_ptr",
                    "typeString": "string"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2547,
                "name": "displayName",
                "nodeType": "VariableDeclaration",
                "scope": 2556,
                "src": "411:18:10",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_string_storage_ptr",
                  "typeString": "string"
                },
                "typeName": {
                  "id": 2546,
                  "name": "string",
                  "nodeType": "ElementaryTypeName",
                  "src": "411:6:10",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_storage_ptr",
                    "typeString": "string"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2549,
                "name": "subscriptionId",
                "nodeType": "VariableDeclaration",
                "scope": 2556,
                "src": "460:21:10",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_string_storage_ptr",
                  "typeString": "string"
                },
                "typeName": {
                  "id": 2548,
                  "name": "string",
                  "nodeType": "ElementaryTypeName",
                  "src": "460:6:10",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_storage_ptr",
                    "typeString": "string"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2551,
                "name": "role",
                "nodeType": "VariableDeclaration",
                "scope": 2556,
                "src": "509:11:10",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_string_storage_ptr",
                  "typeString": "string"
                },
                "typeName": {
                  "id": 2550,
                  "name": "string",
                  "nodeType": "ElementaryTypeName",
                  "src": "509:6:10",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_storage_ptr",
                    "typeString": "string"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2553,
                "name": "account",
                "nodeType": "VariableDeclaration",
                "scope": 2556,
                "src": "561:15:10",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                },
                "typeName": {
                  "id": 2552,
                  "name": "address",
                  "nodeType": "ElementaryTypeName",
                  "src": "561:7:10",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2555,
                "name": "correlationId",
                "nodeType": "VariableDeclaration",
                "scope": 2556,
                "src": "597:18:10",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 2554,
                  "name": "uint",
                  "nodeType": "ElementaryTypeName",
                  "src": "597:4:10",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "value": null,
                "visibility": "internal"
              }
            ],
            "name": "Member",
            "nodeType": "StructDefinition",
            "scope": 3928,
            "src": "336:315:10",
            "visibility": "public"
          },
          {
            "canonicalName": "Members.MemberInvitation",
            "id": 2563,
            "members": [
              {
                "constant": false,
                "id": 2558,
                "name": "subscriptionId",
                "nodeType": "VariableDeclaration",
                "scope": 2563,
                "src": "694:21:10",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_string_storage_ptr",
                  "typeString": "string"
                },
                "typeName": {
                  "id": 2557,
                  "name": "string",
                  "nodeType": "ElementaryTypeName",
                  "src": "694:6:10",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_storage_ptr",
                    "typeString": "string"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2560,
                "name": "role",
                "nodeType": "VariableDeclaration",
                "scope": 2563,
                "src": "743:11:10",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_string_storage_ptr",
                  "typeString": "string"
                },
                "typeName": {
                  "id": 2559,
                  "name": "string",
                  "nodeType": "ElementaryTypeName",
                  "src": "743:6:10",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_storage_ptr",
                    "typeString": "string"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 2562,
                "name": "correlationId",
                "nodeType": "VariableDeclaration",
                "scope": 2563,
                "src": "795:18:10",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 2561,
                  "name": "uint",
                  "nodeType": "ElementaryTypeName",
                  "src": "795:4:10",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "value": null,
                "visibility": "internal"
              }
            ],
            "name": "MemberInvitation",
            "nodeType": "StructDefinition",
            "scope": 3928,
            "src": "659:190:10",
            "visibility": "public"
          },
          {
            "constant": true,
            "id": 2566,
            "name": "ADMIN_ROLE",
            "nodeType": "VariableDeclaration",
            "scope": 3928,
            "src": "857:36:10",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_string_memory",
              "typeString": "string"
            },
            "typeName": {
              "id": 2564,
              "name": "string",
              "nodeType": "ElementaryTypeName",
              "src": "857:6:10",
              "typeDescriptions": {
                "typeIdentifier": "t_string_storage_ptr",
                "typeString": "string"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "41444d494e",
              "id": 2565,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "string",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "886:7:10",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_stringliteral_df8b4c520ffe197c5343c6f5aec59570151ef9a492f2c624fd45ddde6135ec42",
                "typeString": "literal_string \"ADMIN\""
              },
              "value": "ADMIN"
            },
            "visibility": "internal"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 2570,
            "name": "MemberJoinedEvent",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 2569,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2568,
                  "indexed": false,
                  "name": "name",
                  "nodeType": "VariableDeclaration",
                  "scope": 2570,
                  "src": "926:11:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 2567,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "926:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "925:13:10"
            },
            "src": "902:37:10"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 2574,
            "name": "MemberLeftEvent",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 2573,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2572,
                  "indexed": false,
                  "name": "name",
                  "nodeType": "VariableDeclaration",
                  "scope": 2574,
                  "src": "967:11:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 2571,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "967:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "966:13:10"
            },
            "src": "945:35:10"
          },
          {
            "constant": false,
            "id": 2578,
            "name": "memberIndexByName",
            "nodeType": "VariableDeclaration",
            "scope": 3928,
            "src": "1076:50:10",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_mapping$_t_string_memory_$_t_uint256_$",
              "typeString": "mapping(string => uint256)"
            },
            "typeName": {
              "id": 2577,
              "keyType": {
                "id": 2575,
                "name": "string",
                "nodeType": "ElementaryTypeName",
                "src": "1085:6:10",
                "typeDescriptions": {
                  "typeIdentifier": "t_string_storage_ptr",
                  "typeString": "string"
                }
              },
              "nodeType": "Mapping",
              "src": "1076:24:10",
              "typeDescriptions": {
                "typeIdentifier": "t_mapping$_t_string_memory_$_t_uint256_$",
                "typeString": "mapping(string => uint256)"
              },
              "valueType": {
                "id": 2576,
                "name": "uint",
                "nodeType": "ElementaryTypeName",
                "src": "1095:4:10",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                }
              }
            },
            "value": null,
            "visibility": "private"
          },
          {
            "constant": false,
            "id": 2582,
            "name": "memberIndexByAddress",
            "nodeType": "VariableDeclaration",
            "scope": 3928,
            "src": "1260:54:10",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
              "typeString": "mapping(address => uint256)"
            },
            "typeName": {
              "id": 2581,
              "keyType": {
                "id": 2579,
                "name": "address",
                "nodeType": "ElementaryTypeName",
                "src": "1269:7:10",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                }
              },
              "nodeType": "Mapping",
              "src": "1260:25:10",
              "typeDescriptions": {
                "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                "typeString": "mapping(address => uint256)"
              },
              "valueType": {
                "id": 2580,
                "name": "uint",
                "nodeType": "ElementaryTypeName",
                "src": "1280:4:10",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                }
              }
            },
            "value": null,
            "visibility": "private"
          },
          {
            "constant": false,
            "id": 2585,
            "name": "memberList",
            "nodeType": "VariableDeclaration",
            "scope": 3928,
            "src": "1383:27:10",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_array$_t_struct$_Member_$2556_storage_$dyn_storage",
              "typeString": "struct Members.Member[]"
            },
            "typeName": {
              "baseType": {
                "contractScope": null,
                "id": 2583,
                "name": "Member",
                "nodeType": "UserDefinedTypeName",
                "referencedDeclaration": 2556,
                "src": "1383:6:10",
                "typeDescriptions": {
                  "typeIdentifier": "t_struct$_Member_$2556_storage_ptr",
                  "typeString": "struct Members.Member"
                }
              },
              "id": 2584,
              "length": null,
              "nodeType": "ArrayTypeName",
              "src": "1383:8:10",
              "typeDescriptions": {
                "typeIdentifier": "t_array$_t_struct$_Member_$2556_storage_$dyn_storage_ptr",
                "typeString": "struct Members.Member[]"
              }
            },
            "value": null,
            "visibility": "private"
          },
          {
            "constant": false,
            "id": 2587,
            "name": "adminCount",
            "nodeType": "VariableDeclaration",
            "scope": 3928,
            "src": "1500:23:10",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 2586,
              "name": "uint",
              "nodeType": "ElementaryTypeName",
              "src": "1500:4:10",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "private"
          },
          {
            "constant": false,
            "id": 2589,
            "name": "correlationIdCounter",
            "nodeType": "VariableDeclaration",
            "scope": 3928,
            "src": "1582:33:10",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 2588,
              "name": "uint",
              "nodeType": "ElementaryTypeName",
              "src": "1582:4:10",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "private"
          },
          {
            "constant": false,
            "id": 2593,
            "name": "invitationIndexBySubscriptionId",
            "nodeType": "VariableDeclaration",
            "scope": 3928,
            "src": "1724:64:10",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_mapping$_t_string_memory_$_t_uint256_$",
              "typeString": "mapping(string => uint256)"
            },
            "typeName": {
              "id": 2592,
              "keyType": {
                "id": 2590,
                "name": "string",
                "nodeType": "ElementaryTypeName",
                "src": "1733:6:10",
                "typeDescriptions": {
                  "typeIdentifier": "t_string_storage_ptr",
                  "typeString": "string"
                }
              },
              "nodeType": "Mapping",
              "src": "1724:24:10",
              "typeDescriptions": {
                "typeIdentifier": "t_mapping$_t_string_memory_$_t_uint256_$",
                "typeString": "mapping(string => uint256)"
              },
              "valueType": {
                "id": 2591,
                "name": "uint",
                "nodeType": "ElementaryTypeName",
                "src": "1743:4:10",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                }
              }
            },
            "value": null,
            "visibility": "private"
          },
          {
            "constant": false,
            "id": 2596,
            "name": "invitationList",
            "nodeType": "VariableDeclaration",
            "scope": 3928,
            "src": "1882:41:10",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_array$_t_struct$_MemberInvitation_$2563_storage_$dyn_storage",
              "typeString": "struct Members.MemberInvitation[]"
            },
            "typeName": {
              "baseType": {
                "contractScope": null,
                "id": 2594,
                "name": "MemberInvitation",
                "nodeType": "UserDefinedTypeName",
                "referencedDeclaration": 2563,
                "src": "1882:16:10",
                "typeDescriptions": {
                  "typeIdentifier": "t_struct$_MemberInvitation_$2563_storage_ptr",
                  "typeString": "struct Members.MemberInvitation"
                }
              },
              "id": 2595,
              "length": null,
              "nodeType": "ArrayTypeName",
              "src": "1882:18:10",
              "typeDescriptions": {
                "typeIdentifier": "t_array$_t_struct$_MemberInvitation_$2563_storage_$dyn_storage_ptr",
                "typeString": "struct Members.MemberInvitation[]"
              }
            },
            "value": null,
            "visibility": "private"
          },
          {
            "body": {
              "id": 2607,
              "nodeType": "Block",
              "src": "1956:111:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 2600,
                              "name": "msg",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 4096,
                              "src": "1993:3:10",
                              "typeDescriptions": {
                                "typeIdentifier": "t_magic_message",
                                "typeString": "msg"
                              }
                            },
                            "id": 2601,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "sender",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": null,
                            "src": "1993:10:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          ],
                          "id": 2599,
                          "name": "isOperatorAddress",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3843,
                          "src": "1975:17:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$",
                            "typeString": "function (address) view returns (bool)"
                          }
                        },
                        "id": 2602,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "1975:29:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "4f6e6c79207065726d69747320696e766f636174696f6e2066726f6d206f70657261746f722e",
                        "id": 2603,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "2006:40:10",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_a2c6b8f7086b9cb3fba92ce3827a4024ad98857ab5279a6202f8ff42f881a0e9",
                          "typeString": "literal_string \"Only permits invocation from operator.\""
                        },
                        "value": "Only permits invocation from operator."
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_a2c6b8f7086b9cb3fba92ce3827a4024ad98857ab5279a6202f8ff42f881a0e9",
                          "typeString": "literal_string \"Only permits invocation from operator.\""
                        }
                      ],
                      "id": 2598,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        4099,
                        4100
                      ],
                      "referencedDeclaration": 4100,
                      "src": "1967:7:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 2604,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1967:80:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 2605,
                  "nodeType": "ExpressionStatement",
                  "src": "1967:80:10"
                },
                {
                  "id": 2606,
                  "nodeType": "PlaceholderStatement",
                  "src": "2058:1:10"
                }
              ]
            },
            "documentation": null,
            "id": 2608,
            "name": "isFromOperator",
            "nodeType": "ModifierDefinition",
            "parameters": {
              "id": 2597,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1956:0:10"
            },
            "src": "1932:135:10",
            "visibility": "internal"
          },
          {
            "body": {
              "id": 2619,
              "nodeType": "Block",
              "src": "2096:106:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 2612,
                              "name": "msg",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 4096,
                              "src": "2130:3:10",
                              "typeDescriptions": {
                                "typeIdentifier": "t_magic_message",
                                "typeString": "msg"
                              }
                            },
                            "id": 2613,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "sender",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": null,
                            "src": "2130:10:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          ],
                          "id": 2611,
                          "name": "isAdminAddress",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3660,
                          "src": "2115:14:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$",
                            "typeString": "function (address) view returns (bool)"
                          }
                        },
                        "id": 2614,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "2115:26:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "4f6e6c79207065726d69747320696e766f636174696f6e2066726f6d2061646d696e732e",
                        "id": 2615,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "2143:38:10",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_f0058c18d1fb460a6e2435957f8dd8ed8fdb9b308d7aea617324ed7baacc409a",
                          "typeString": "literal_string \"Only permits invocation from admins.\""
                        },
                        "value": "Only permits invocation from admins."
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_f0058c18d1fb460a6e2435957f8dd8ed8fdb9b308d7aea617324ed7baacc409a",
                          "typeString": "literal_string \"Only permits invocation from admins.\""
                        }
                      ],
                      "id": 2610,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        4099,
                        4100
                      ],
                      "referencedDeclaration": 4100,
                      "src": "2107:7:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 2616,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2107:75:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 2617,
                  "nodeType": "ExpressionStatement",
                  "src": "2107:75:10"
                },
                {
                  "id": 2618,
                  "nodeType": "PlaceholderStatement",
                  "src": "2193:1:10"
                }
              ]
            },
            "documentation": null,
            "id": 2620,
            "name": "isFromAdmin",
            "nodeType": "ModifierDefinition",
            "parameters": {
              "id": 2609,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2096:0:10"
            },
            "src": "2075:127:10",
            "visibility": "internal"
          },
          {
            "body": {
              "id": 2634,
              "nodeType": "Block",
              "src": "2256:139:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 2626,
                              "name": "msg",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 4096,
                              "src": "2293:3:10",
                              "typeDescriptions": {
                                "typeIdentifier": "t_magic_message",
                                "typeString": "msg"
                              }
                            },
                            "id": 2627,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "sender",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": null,
                            "src": "2293:10:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 2628,
                            "name": "memberName",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2622,
                            "src": "2305:10:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            },
                            {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          ],
                          "id": 2625,
                          "name": "isAddressOfMember",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3685,
                          "src": "2275:17:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_view$_t_address_$_t_string_memory_ptr_$returns$_t_bool_$",
                            "typeString": "function (address,string memory) view returns (bool)"
                          }
                        },
                        "id": 2629,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "2275:41:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "4f6e6c79207065726d69747320696e766f636174696f6e2066726f6d20746865206d656d6265722773206f776e206163636f756e742e",
                        "id": 2630,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "2318:56:10",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_f095888b38b7bad6977931bffb679a57cfa9d9ec9c49b1e453b0a918f87a6c8e",
                          "typeString": "literal_string \"Only permits invocation from the member's own account.\""
                        },
                        "value": "Only permits invocation from the member's own account."
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_f095888b38b7bad6977931bffb679a57cfa9d9ec9c49b1e453b0a918f87a6c8e",
                          "typeString": "literal_string \"Only permits invocation from the member's own account.\""
                        }
                      ],
                      "id": 2624,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        4099,
                        4100
                      ],
                      "referencedDeclaration": 4100,
                      "src": "2267:7:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 2631,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2267:108:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 2632,
                  "nodeType": "ExpressionStatement",
                  "src": "2267:108:10"
                },
                {
                  "id": 2633,
                  "nodeType": "PlaceholderStatement",
                  "src": "2386:1:10"
                }
              ]
            },
            "documentation": null,
            "id": 2635,
            "name": "isFromSelf",
            "nodeType": "ModifierDefinition",
            "parameters": {
              "id": 2623,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2622,
                  "name": "memberName",
                  "nodeType": "VariableDeclaration",
                  "scope": 2635,
                  "src": "2230:24:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 2621,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "2230:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2229:26:10"
            },
            "src": "2210:185:10",
            "visibility": "internal"
          },
          {
            "body": {
              "id": 2647,
              "nodeType": "Block",
              "src": "2454:112:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 2641,
                            "name": "memberName",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2637,
                            "src": "2490:10:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          ],
                          "id": 2640,
                          "name": "existsMemberName",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3606,
                          "src": "2473:16:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$_t_bool_$",
                            "typeString": "function (string memory) view returns (bool)"
                          }
                        },
                        "id": 2642,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "2473:28:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "41206d656d62657220776974682073756368206e616d6520646f6573206e6f74206578697374732e",
                        "id": 2643,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "2503:42:10",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_7a47041c619d3153b31b4235b5f89c02a456811eab841c0a9650f1bc0bc749b9",
                          "typeString": "literal_string \"A member with such name does not exists.\""
                        },
                        "value": "A member with such name does not exists."
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_7a47041c619d3153b31b4235b5f89c02a456811eab841c0a9650f1bc0bc749b9",
                          "typeString": "literal_string \"A member with such name does not exists.\""
                        }
                      ],
                      "id": 2639,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        4099,
                        4100
                      ],
                      "referencedDeclaration": 4100,
                      "src": "2465:7:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 2644,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2465:81:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 2645,
                  "nodeType": "ExpressionStatement",
                  "src": "2465:81:10"
                },
                {
                  "id": 2646,
                  "nodeType": "PlaceholderStatement",
                  "src": "2557:1:10"
                }
              ]
            },
            "documentation": null,
            "id": 2648,
            "name": "isMemberExisted",
            "nodeType": "ModifierDefinition",
            "parameters": {
              "id": 2638,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2637,
                  "name": "memberName",
                  "nodeType": "VariableDeclaration",
                  "scope": 2648,
                  "src": "2428:24:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 2636,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "2428:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2427:26:10"
            },
            "src": "2403:163:10",
            "visibility": "internal"
          },
          {
            "body": {
              "id": 2660,
              "nodeType": "Block",
              "src": "2647:148:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 2654,
                            "name": "invitationSubscriptionId",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2650,
                            "src": "2683:24:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          ],
                          "id": 2653,
                          "name": "existsInvitation",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3815,
                          "src": "2666:16:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$_t_bool_$",
                            "typeString": "function (string memory) view returns (bool)"
                          }
                        },
                        "id": 2655,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "2666:42:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "41206d656d62657220696e7669746174696f6e2077697468207375636820737562736372697074696f6e20696420646f6573206e6f74206578697374732e",
                        "id": 2656,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "2710:64:10",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_6c8baf90898ccecd94182d463a5121b80309ff6b47e0d04c30f89fb9211a5b42",
                          "typeString": "literal_string \"A member invitation with such subscription id does not exists.\""
                        },
                        "value": "A member invitation with such subscription id does not exists."
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_6c8baf90898ccecd94182d463a5121b80309ff6b47e0d04c30f89fb9211a5b42",
                          "typeString": "literal_string \"A member invitation with such subscription id does not exists.\""
                        }
                      ],
                      "id": 2652,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        4099,
                        4100
                      ],
                      "referencedDeclaration": 4100,
                      "src": "2658:7:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 2657,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2658:117:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 2658,
                  "nodeType": "ExpressionStatement",
                  "src": "2658:117:10"
                },
                {
                  "id": 2659,
                  "nodeType": "PlaceholderStatement",
                  "src": "2786:1:10"
                }
              ]
            },
            "documentation": null,
            "id": 2661,
            "name": "isInvitationExisted",
            "nodeType": "ModifierDefinition",
            "parameters": {
              "id": 2651,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2650,
                  "name": "invitationSubscriptionId",
                  "nodeType": "VariableDeclaration",
                  "scope": 2661,
                  "src": "2607:38:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 2649,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "2607:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2606:40:10"
            },
            "src": "2578:217:10",
            "visibility": "internal"
          },
          {
            "body": {
              "id": 2676,
              "nodeType": "Block",
              "src": "2959:8:10",
              "statements": []
            },
            "documentation": null,
            "id": 2677,
            "implemented": true,
            "isConstructor": true,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 2669,
                        "name": "_rootContract",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2663,
                        "src": "2900:13:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_RootContract_$4081",
                          "typeString": "contract RootContract"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_contract$_RootContract_$4081",
                          "typeString": "contract RootContract"
                        }
                      ],
                      "id": 2668,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "nodeType": "ElementaryTypeNameExpression",
                      "src": "2892:7:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_type$_t_address_$",
                        "typeString": "type(address)"
                      },
                      "typeName": "address"
                    },
                    "id": 2670,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "typeConversion",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2892:22:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 2672,
                        "name": "_updateFrom",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2665,
                        "src": "2924:11:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IUpdateable_$2535",
                          "typeString": "contract IUpdateable"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_contract$_IUpdateable_$2535",
                          "typeString": "contract IUpdateable"
                        }
                      ],
                      "id": 2671,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "nodeType": "ElementaryTypeNameExpression",
                      "src": "2916:7:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_type$_t_address_$",
                        "typeString": "type(address)"
                      },
                      "typeName": "address"
                    },
                    "id": 2673,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "typeConversion",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2916:20:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  }
                ],
                "id": 2674,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 2667,
                  "name": "BaseUpdateable",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 53,
                  "src": "2877:14:10",
                  "typeDescriptions": {
                    "typeIdentifier": "t_type$_t_contract$_BaseUpdateable_$53_$",
                    "typeString": "type(contract BaseUpdateable)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "2877:60:10"
              }
            ],
            "name": "",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 2666,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2663,
                  "name": "_rootContract",
                  "nodeType": "VariableDeclaration",
                  "scope": 2677,
                  "src": "2815:26:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_RootContract_$4081",
                    "typeString": "contract RootContract"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 2662,
                    "name": "RootContract",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 4081,
                    "src": "2815:12:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_RootContract_$4081",
                      "typeString": "contract RootContract"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2665,
                  "name": "_updateFrom",
                  "nodeType": "VariableDeclaration",
                  "scope": 2677,
                  "src": "2843:23:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_IUpdateable_$2535",
                    "typeString": "contract IUpdateable"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 2664,
                    "name": "IUpdateable",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 2535,
                    "src": "2843:11:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_IUpdateable_$2535",
                      "typeString": "contract IUpdateable"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2814:53:10"
            },
            "payable": false,
            "returnParameters": {
              "id": 2675,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2959:0:10"
            },
            "scope": 3928,
            "src": "2803:164:10",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 2848,
              "nodeType": "Block",
              "src": "3026:1796:10",
              "statements": [
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    },
                    "id": 2686,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 2682,
                      "name": "updateFrom",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 9,
                      "src": "3041:10:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "==",
                    "rightExpression": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "hexValue": "30",
                          "id": 2684,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "3063:1:10",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_0_by_1",
                            "typeString": "int_const 0"
                          },
                          "value": "0"
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_rational_0_by_1",
                            "typeString": "int_const 0"
                          }
                        ],
                        "id": 2683,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "nodeType": "ElementaryTypeNameExpression",
                        "src": "3055:7:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_address_$",
                          "typeString": "type(address)"
                        },
                        "typeName": "address"
                      },
                      "id": 2685,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "typeConversion",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "3055:10:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "src": "3041:24:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": null,
                  "id": 2689,
                  "nodeType": "IfStatement",
                  "src": "3037:63:10",
                  "trueBody": {
                    "id": 2688,
                    "nodeType": "Block",
                    "src": "3067:33:10",
                    "statements": [
                      {
                        "expression": null,
                        "functionReturnParameters": 2681,
                        "id": 2687,
                        "nodeType": "Return",
                        "src": "3082:7:10"
                      }
                    ]
                  }
                },
                {
                  "assignments": [],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 2691,
                      "name": "i",
                      "nodeType": "VariableDeclaration",
                      "scope": 2849,
                      "src": "3112:6:10",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 2690,
                        "name": "uint",
                        "nodeType": "ElementaryTypeName",
                        "src": "3112:4:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 2692,
                  "initialValue": null,
                  "nodeType": "VariableDeclarationStatement",
                  "src": "3112:6:10"
                },
                {
                  "assignments": [],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 2694,
                      "name": "name",
                      "nodeType": "VariableDeclaration",
                      "scope": 2849,
                      "src": "3129:18:10",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_memory_ptr",
                        "typeString": "string"
                      },
                      "typeName": {
                        "id": 2693,
                        "name": "string",
                        "nodeType": "ElementaryTypeName",
                        "src": "3129:6:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_storage_ptr",
                          "typeString": "string"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 2695,
                  "initialValue": null,
                  "nodeType": "VariableDeclarationStatement",
                  "src": "3129:18:10"
                },
                {
                  "assignments": [],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 2697,
                      "name": "subscriptionId",
                      "nodeType": "VariableDeclaration",
                      "scope": 2849,
                      "src": "3158:28:10",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_memory_ptr",
                        "typeString": "string"
                      },
                      "typeName": {
                        "id": 2696,
                        "name": "string",
                        "nodeType": "ElementaryTypeName",
                        "src": "3158:6:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_storage_ptr",
                          "typeString": "string"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 2698,
                  "initialValue": null,
                  "nodeType": "VariableDeclarationStatement",
                  "src": "3158:28:10"
                },
                {
                  "assignments": [],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 2700,
                      "name": "role",
                      "nodeType": "VariableDeclaration",
                      "scope": 2849,
                      "src": "3197:18:10",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_memory_ptr",
                        "typeString": "string"
                      },
                      "typeName": {
                        "id": 2699,
                        "name": "string",
                        "nodeType": "ElementaryTypeName",
                        "src": "3197:6:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_storage_ptr",
                          "typeString": "string"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 2701,
                  "initialValue": null,
                  "nodeType": "VariableDeclarationStatement",
                  "src": "3197:18:10"
                },
                {
                  "assignments": [],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 2703,
                      "name": "status",
                      "nodeType": "VariableDeclaration",
                      "scope": 2849,
                      "src": "3226:20:10",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_memory_ptr",
                        "typeString": "string"
                      },
                      "typeName": {
                        "id": 2702,
                        "name": "string",
                        "nodeType": "ElementaryTypeName",
                        "src": "3226:6:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_storage_ptr",
                          "typeString": "string"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 2704,
                  "initialValue": null,
                  "nodeType": "VariableDeclarationStatement",
                  "src": "3226:20:10"
                },
                {
                  "assignments": [],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 2706,
                      "name": "accountAddress",
                      "nodeType": "VariableDeclaration",
                      "scope": 2849,
                      "src": "3257:22:10",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      },
                      "typeName": {
                        "id": 2705,
                        "name": "address",
                        "nodeType": "ElementaryTypeName",
                        "src": "3257:7:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 2707,
                  "initialValue": null,
                  "nodeType": "VariableDeclarationStatement",
                  "src": "3257:22:10"
                },
                {
                  "assignments": [],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 2709,
                      "name": "major",
                      "nodeType": "VariableDeclaration",
                      "scope": 2849,
                      "src": "3292:10:10",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 2708,
                        "name": "uint",
                        "nodeType": "ElementaryTypeName",
                        "src": "3292:4:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 2710,
                  "initialValue": null,
                  "nodeType": "VariableDeclarationStatement",
                  "src": "3292:10:10"
                },
                {
                  "assignments": [],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 2712,
                      "name": "minor",
                      "nodeType": "VariableDeclaration",
                      "scope": 2849,
                      "src": "3313:10:10",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 2711,
                        "name": "uint",
                        "nodeType": "ElementaryTypeName",
                        "src": "3313:4:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 2713,
                  "initialValue": null,
                  "nodeType": "VariableDeclarationStatement",
                  "src": "3313:10:10"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 2719,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "components": [
                        {
                          "argumentTypes": null,
                          "id": 2714,
                          "name": "major",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 2709,
                          "src": "3335:5:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        {
                          "argumentTypes": null,
                          "id": 2715,
                          "name": "minor",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 2712,
                          "src": "3342:5:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        null
                      ],
                      "id": 2716,
                      "isConstant": false,
                      "isInlineArray": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "TupleExpression",
                      "src": "3334:16:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$__$",
                        "typeString": "tuple(uint256,uint256,)"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [],
                      "expression": {
                        "argumentTypes": [],
                        "id": 2717,
                        "name": "getActiveVersion",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3890,
                        "src": "3353:16:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$_t_uint256_$_t_uint256_$",
                          "typeString": "function () view returns (uint256,uint256,uint256)"
                        }
                      },
                      "id": 2718,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "3353:18:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$",
                        "typeString": "tuple(uint256,uint256,uint256)"
                      }
                    },
                    "src": "3334:37:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 2720,
                  "nodeType": "ExpressionStatement",
                  "src": "3334:37:10"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        "id": 2728,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 2724,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "id": 2722,
                            "name": "major",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2709,
                            "src": "3390:5:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "==",
                          "rightExpression": {
                            "argumentTypes": null,
                            "hexValue": "30",
                            "id": 2723,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "3399:1:10",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_0_by_1",
                              "typeString": "int_const 0"
                            },
                            "value": "0"
                          },
                          "src": "3390:10:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "&&",
                        "rightExpression": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 2727,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "id": 2725,
                            "name": "minor",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2712,
                            "src": "3404:5:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "==",
                          "rightExpression": {
                            "argumentTypes": null,
                            "hexValue": "30",
                            "id": 2726,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "3413:1:10",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_0_by_1",
                              "typeString": "int_const 0"
                            },
                            "value": "0"
                          },
                          "src": "3404:10:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "src": "3390:24:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "4d6967726174696f6e2066726f6d2076657273696f6e73206f74686572207468616e20302e30206973206e6f742065787065637465642e",
                        "id": 2729,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "3416:57:10",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_a5ff088bdbce1ce381bb97ef0a216c466a5d89cd9b3256c363072792dc8830be",
                          "typeString": "literal_string \"Migration from versions other than 0.0 is not expected.\""
                        },
                        "value": "Migration from versions other than 0.0 is not expected."
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_a5ff088bdbce1ce381bb97ef0a216c466a5d89cd9b3256c363072792dc8830be",
                          "typeString": "literal_string \"Migration from versions other than 0.0 is not expected.\""
                        }
                      ],
                      "id": 2721,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        4099,
                        4100
                      ],
                      "referencedDeclaration": 4100,
                      "src": "3382:7:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 2730,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3382:92:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 2731,
                  "nodeType": "ExpressionStatement",
                  "src": "3382:92:10"
                },
                {
                  "assignments": [
                    2733
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 2733,
                      "name": "oldPrivatePreviewMembers",
                      "nodeType": "VariableDeclaration",
                      "scope": 2849,
                      "src": "3487:46:10",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_PrivatePreviewMembers_$1898",
                        "typeString": "contract PrivatePreviewMembers"
                      },
                      "typeName": {
                        "contractScope": null,
                        "id": 2732,
                        "name": "PrivatePreviewMembers",
                        "nodeType": "UserDefinedTypeName",
                        "referencedDeclaration": 1898,
                        "src": "3487:21:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_PrivatePreviewMembers_$1898",
                          "typeString": "contract PrivatePreviewMembers"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 2737,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 2735,
                        "name": "updateFrom",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 9,
                        "src": "3558:10:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      ],
                      "id": 2734,
                      "name": "PrivatePreviewMembers",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 1898,
                      "src": "3536:21:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_type$_t_contract$_PrivatePreviewMembers_$1898_$",
                        "typeString": "type(contract PrivatePreviewMembers)"
                      }
                    },
                    "id": 2736,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "typeConversion",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3536:33:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_PrivatePreviewMembers_$1898",
                      "typeString": "contract PrivatePreviewMembers"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "3487:82:10"
                },
                {
                  "body": {
                    "id": 2846,
                    "nodeType": "Block",
                    "src": "3700:1115:10",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 2757,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "id": 2752,
                            "name": "name",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2694,
                            "src": "3715:4:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "id": 2755,
                                "name": "i",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 2691,
                                "src": "3777:1:10",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              ],
                              "expression": {
                                "argumentTypes": null,
                                "id": 2753,
                                "name": "oldPrivatePreviewMembers",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 2733,
                                "src": "3722:24:10",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_contract$_PrivatePreviewMembers_$1898",
                                  "typeString": "contract PrivatePreviewMembers"
                                }
                              },
                              "id": 2754,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "members_iterator_current_name",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 1772,
                              "src": "3722:54:10",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_string_memory_ptr_$",
                                "typeString": "function (uint256) view external returns (string memory)"
                              }
                            },
                            "id": 2756,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "3722:57:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          },
                          "src": "3715:64:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_string_memory_ptr",
                            "typeString": "string memory"
                          }
                        },
                        "id": 2758,
                        "nodeType": "ExpressionStatement",
                        "src": "3715:64:10"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 2764,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "id": 2759,
                            "name": "subscriptionId",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2697,
                            "src": "3794:14:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "id": 2762,
                                "name": "name",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 2694,
                                "src": "3860:4:10",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_string_memory_ptr",
                                  "typeString": "string memory"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_string_memory_ptr",
                                  "typeString": "string memory"
                                }
                              ],
                              "expression": {
                                "argumentTypes": null,
                                "id": 2760,
                                "name": "oldPrivatePreviewMembers",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 2733,
                                "src": "3811:24:10",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_contract$_PrivatePreviewMembers_$1898",
                                  "typeString": "contract PrivatePreviewMembers"
                                }
                              },
                              "id": 2761,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "getMemberSubscriptionId",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 1788,
                              "src": "3811:48:10",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$",
                                "typeString": "function (string memory) view external returns (string memory)"
                              }
                            },
                            "id": 2763,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "3811:54:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          },
                          "src": "3794:71:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_string_memory_ptr",
                            "typeString": "string memory"
                          }
                        },
                        "id": 2765,
                        "nodeType": "ExpressionStatement",
                        "src": "3794:71:10"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 2771,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "id": 2766,
                            "name": "role",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2700,
                            "src": "3880:4:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "id": 2769,
                                "name": "name",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 2694,
                                "src": "3926:4:10",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_string_memory_ptr",
                                  "typeString": "string memory"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_string_memory_ptr",
                                  "typeString": "string memory"
                                }
                              ],
                              "expression": {
                                "argumentTypes": null,
                                "id": 2767,
                                "name": "oldPrivatePreviewMembers",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 2733,
                                "src": "3887:24:10",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_contract$_PrivatePreviewMembers_$1898",
                                  "typeString": "contract PrivatePreviewMembers"
                                }
                              },
                              "id": 2768,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "getMemberRole",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 1868,
                              "src": "3887:38:10",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$",
                                "typeString": "function (string memory) view external returns (string memory)"
                              }
                            },
                            "id": 2770,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "3887:44:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          },
                          "src": "3880:51:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_string_memory_ptr",
                            "typeString": "string memory"
                          }
                        },
                        "id": 2772,
                        "nodeType": "ExpressionStatement",
                        "src": "3880:51:10"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 2778,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "id": 2773,
                            "name": "status",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2703,
                            "src": "3946:6:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "id": 2776,
                                "name": "name",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 2694,
                                "src": "3996:4:10",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_string_memory_ptr",
                                  "typeString": "string memory"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_string_memory_ptr",
                                  "typeString": "string memory"
                                }
                              ],
                              "expression": {
                                "argumentTypes": null,
                                "id": 2774,
                                "name": "oldPrivatePreviewMembers",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 2733,
                                "src": "3955:24:10",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_contract$_PrivatePreviewMembers_$1898",
                                  "typeString": "contract PrivatePreviewMembers"
                                }
                              },
                              "id": 2775,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "getMemberStatus",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 1884,
                              "src": "3955:40:10",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$",
                                "typeString": "function (string memory) view external returns (string memory)"
                              }
                            },
                            "id": 2777,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "3955:46:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          },
                          "src": "3946:55:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_string_memory_ptr",
                            "typeString": "string memory"
                          }
                        },
                        "id": 2779,
                        "nodeType": "ExpressionStatement",
                        "src": "3946:55:10"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 2785,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "id": 2780,
                            "name": "accountAddress",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2706,
                            "src": "4016:14:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "id": 2783,
                                "name": "name",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 2694,
                                "src": "4075:4:10",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_string_memory_ptr",
                                  "typeString": "string memory"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_string_memory_ptr",
                                  "typeString": "string memory"
                                }
                              ],
                              "expression": {
                                "argumentTypes": null,
                                "id": 2781,
                                "name": "oldPrivatePreviewMembers",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 2733,
                                "src": "4033:24:10",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_contract$_PrivatePreviewMembers_$1898",
                                  "typeString": "contract PrivatePreviewMembers"
                                }
                              },
                              "id": 2782,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "getMemberAccount",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 1820,
                              "src": "4033:41:10",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$returns$_t_address_$",
                                "typeString": "function (string memory) view external returns (address)"
                              }
                            },
                            "id": 2784,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "4033:47:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          "src": "4016:64:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "id": 2786,
                        "nodeType": "ExpressionStatement",
                        "src": "4016:64:10"
                      },
                      {
                        "assignments": [
                          2788
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 2788,
                            "name": "isLeftMember",
                            "nodeType": "VariableDeclaration",
                            "scope": 2849,
                            "src": "4095:17:10",
                            "stateVariable": false,
                            "storageLocation": "default",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            },
                            "typeName": {
                              "id": 2787,
                              "name": "bool",
                              "nodeType": "ElementaryTypeName",
                              "src": "4095:4:10",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            },
                            "value": null,
                            "visibility": "internal"
                          }
                        ],
                        "id": 2793,
                        "initialValue": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 2790,
                              "name": "status",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 2703,
                              "src": "4131:6:10",
                              "typeDescriptions": {
                                "typeIdentifier": "t_string_memory_ptr",
                                "typeString": "string memory"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "hexValue": "4c656674",
                              "id": 2791,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "string",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "4139:6:10",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_stringliteral_0b0e4d29377ffa8216bf08fb8ce4983712a2d0fd4423e4503f613a9fe484447e",
                                "typeString": "literal_string \"Left\""
                              },
                              "value": "Left"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_string_memory_ptr",
                                "typeString": "string memory"
                              },
                              {
                                "typeIdentifier": "t_stringliteral_0b0e4d29377ffa8216bf08fb8ce4983712a2d0fd4423e4503f613a9fe484447e",
                                "typeString": "literal_string \"Left\""
                              }
                            ],
                            "id": 2789,
                            "name": "areStringsEqual",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 3927,
                            "src": "4115:15:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$",
                              "typeString": "function (string memory,string memory) pure returns (bool)"
                            }
                          },
                          "id": 2792,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "4115:31:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "4095:51:10"
                      },
                      {
                        "assignments": [
                          2795
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 2795,
                            "name": "isJoinedMember",
                            "nodeType": "VariableDeclaration",
                            "scope": 2849,
                            "src": "4161:19:10",
                            "stateVariable": false,
                            "storageLocation": "default",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            },
                            "typeName": {
                              "id": 2794,
                              "name": "bool",
                              "nodeType": "ElementaryTypeName",
                              "src": "4161:4:10",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            },
                            "value": null,
                            "visibility": "internal"
                          }
                        ],
                        "id": 2800,
                        "initialValue": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 2797,
                              "name": "status",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 2703,
                              "src": "4199:6:10",
                              "typeDescriptions": {
                                "typeIdentifier": "t_string_memory_ptr",
                                "typeString": "string memory"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "hexValue": "5265616479",
                              "id": 2798,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "string",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "4207:7:10",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_stringliteral_ce5ceceb3b018dc53cd7e23daa9f08f268ec71a6dd745acc69b20cd937af5503",
                                "typeString": "literal_string \"Ready\""
                              },
                              "value": "Ready"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_string_memory_ptr",
                                "typeString": "string memory"
                              },
                              {
                                "typeIdentifier": "t_stringliteral_ce5ceceb3b018dc53cd7e23daa9f08f268ec71a6dd745acc69b20cd937af5503",
                                "typeString": "literal_string \"Ready\""
                              }
                            ],
                            "id": 2796,
                            "name": "areStringsEqual",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 3927,
                            "src": "4183:15:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$",
                              "typeString": "function (string memory,string memory) pure returns (bool)"
                            }
                          },
                          "id": 2799,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "4183:32:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "4161:54:10"
                      },
                      {
                        "condition": {
                          "argumentTypes": null,
                          "id": 2801,
                          "name": "isLeftMember",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 2788,
                          "src": "4236:12:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "falseBody": {
                          "condition": {
                            "argumentTypes": null,
                            "commonType": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            },
                            "id": 2808,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "leftExpression": {
                              "argumentTypes": null,
                              "id": 2804,
                              "name": "isJoinedMember",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 2795,
                              "src": "4316:14:10",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            },
                            "nodeType": "BinaryOperation",
                            "operator": "&&",
                            "rightExpression": {
                              "argumentTypes": null,
                              "commonType": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              },
                              "id": 2807,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftExpression": {
                                "argumentTypes": null,
                                "id": 2805,
                                "name": "accountAddress",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 2706,
                                "src": "4334:14:10",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              },
                              "nodeType": "BinaryOperation",
                              "operator": "!=",
                              "rightExpression": {
                                "argumentTypes": null,
                                "hexValue": "30",
                                "id": 2806,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "number",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "4352:1:10",
                                "subdenomination": null,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_rational_0_by_1",
                                  "typeString": "int_const 0"
                                },
                                "value": "0"
                              },
                              "src": "4334:19:10",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            },
                            "src": "4316:37:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          },
                          "falseBody": {
                            "id": 2843,
                            "nodeType": "Block",
                            "src": "4493:311:10",
                            "statements": [
                              {
                                "condition": {
                                  "argumentTypes": null,
                                  "id": 2823,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "nodeType": "UnaryOperation",
                                  "operator": "!",
                                  "prefix": true,
                                  "src": "4516:33:10",
                                  "subExpression": {
                                    "argumentTypes": null,
                                    "arguments": [
                                      {
                                        "argumentTypes": null,
                                        "id": 2821,
                                        "name": "subscriptionId",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 2697,
                                        "src": "4534:14:10",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_string_memory_ptr",
                                          "typeString": "string memory"
                                        }
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_string_memory_ptr",
                                          "typeString": "string memory"
                                        }
                                      ],
                                      "id": 2820,
                                      "name": "existsInvitation",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 3815,
                                      "src": "4517:16:10",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$_t_bool_$",
                                        "typeString": "function (string memory) view returns (bool)"
                                      }
                                    },
                                    "id": 2822,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "functionCall",
                                    "lValueRequested": false,
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "4517:32:10",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bool",
                                      "typeString": "bool"
                                    }
                                  },
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bool",
                                    "typeString": "bool"
                                  }
                                },
                                "falseBody": {
                                  "condition": {
                                    "argumentTypes": null,
                                    "arguments": [
                                      {
                                        "argumentTypes": null,
                                        "id": 2833,
                                        "name": "role",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 2700,
                                        "src": "4693:4:10",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_string_memory_ptr",
                                          "typeString": "string memory"
                                        }
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_string_memory_ptr",
                                          "typeString": "string memory"
                                        }
                                      ],
                                      "id": 2832,
                                      "name": "isAdminRole",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 3903,
                                      "src": "4681:11:10",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_bool_$",
                                        "typeString": "function (string memory) pure returns (bool)"
                                      }
                                    },
                                    "id": 2834,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "functionCall",
                                    "lValueRequested": false,
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "4681:17:10",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bool",
                                      "typeString": "bool"
                                    }
                                  },
                                  "falseBody": null,
                                  "id": 2841,
                                  "nodeType": "IfStatement",
                                  "src": "4677:112:10",
                                  "trueBody": {
                                    "id": 2840,
                                    "nodeType": "Block",
                                    "src": "4700:89:10",
                                    "statements": [
                                      {
                                        "expression": {
                                          "argumentTypes": null,
                                          "arguments": [
                                            {
                                              "argumentTypes": null,
                                              "id": 2836,
                                              "name": "subscriptionId",
                                              "nodeType": "Identifier",
                                              "overloadedDeclarations": [],
                                              "referencedDeclaration": 2697,
                                              "src": "4742:14:10",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_string_memory_ptr",
                                                "typeString": "string memory"
                                              }
                                            },
                                            {
                                              "argumentTypes": null,
                                              "id": 2837,
                                              "name": "ADMIN_ROLE",
                                              "nodeType": "Identifier",
                                              "overloadedDeclarations": [],
                                              "referencedDeclaration": 2566,
                                              "src": "4758:10:10",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_string_memory",
                                                "typeString": "string memory"
                                              }
                                            }
                                          ],
                                          "expression": {
                                            "argumentTypes": [
                                              {
                                                "typeIdentifier": "t_string_memory_ptr",
                                                "typeString": "string memory"
                                              },
                                              {
                                                "typeIdentifier": "t_string_memory",
                                                "typeString": "string memory"
                                              }
                                            ],
                                            "id": 2835,
                                            "name": "_setInvitationRole",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 3801,
                                            "src": "4723:18:10",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$",
                                              "typeString": "function (string memory,string memory)"
                                            }
                                          },
                                          "id": 2838,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "kind": "functionCall",
                                          "lValueRequested": false,
                                          "names": [],
                                          "nodeType": "FunctionCall",
                                          "src": "4723:46:10",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                          }
                                        },
                                        "id": 2839,
                                        "nodeType": "ExpressionStatement",
                                        "src": "4723:46:10"
                                      }
                                    ]
                                  }
                                },
                                "id": 2842,
                                "nodeType": "IfStatement",
                                "src": "4512:277:10",
                                "trueBody": {
                                  "id": 2831,
                                  "nodeType": "Block",
                                  "src": "4551:103:10",
                                  "statements": [
                                    {
                                      "expression": {
                                        "argumentTypes": null,
                                        "arguments": [
                                          {
                                            "argumentTypes": null,
                                            "id": 2825,
                                            "name": "subscriptionId",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 2697,
                                            "src": "4589:14:10",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_string_memory_ptr",
                                              "typeString": "string memory"
                                            }
                                          },
                                          {
                                            "argumentTypes": null,
                                            "id": 2826,
                                            "name": "role",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 2700,
                                            "src": "4605:4:10",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_string_memory_ptr",
                                              "typeString": "string memory"
                                            }
                                          },
                                          {
                                            "argumentTypes": null,
                                            "id": 2828,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "nodeType": "UnaryOperation",
                                            "operator": "++",
                                            "prefix": false,
                                            "src": "4611:22:10",
                                            "subExpression": {
                                              "argumentTypes": null,
                                              "id": 2827,
                                              "name": "correlationIdCounter",
                                              "nodeType": "Identifier",
                                              "overloadedDeclarations": [],
                                              "referencedDeclaration": 2589,
                                              "src": "4611:20:10",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                              }
                                            },
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_uint256",
                                              "typeString": "uint256"
                                            }
                                          }
                                        ],
                                        "expression": {
                                          "argumentTypes": [
                                            {
                                              "typeIdentifier": "t_string_memory_ptr",
                                              "typeString": "string memory"
                                            },
                                            {
                                              "typeIdentifier": "t_string_memory_ptr",
                                              "typeString": "string memory"
                                            },
                                            {
                                              "typeIdentifier": "t_uint256",
                                              "typeString": "uint256"
                                            }
                                          ],
                                          "id": 2824,
                                          "name": "_addInvitation",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 3720,
                                          "src": "4574:14:10",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_uint256_$returns$__$",
                                            "typeString": "function (string memory,string memory,uint256)"
                                          }
                                        },
                                        "id": 2829,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "4574:60:10",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_tuple$__$",
                                          "typeString": "tuple()"
                                        }
                                      },
                                      "id": 2830,
                                      "nodeType": "ExpressionStatement",
                                      "src": "4574:60:10"
                                    }
                                  ]
                                }
                              }
                            ]
                          },
                          "id": 2844,
                          "nodeType": "IfStatement",
                          "src": "4312:492:10",
                          "trueBody": {
                            "id": 2819,
                            "nodeType": "Block",
                            "src": "4355:119:10",
                            "statements": [
                              {
                                "expression": {
                                  "argumentTypes": null,
                                  "arguments": [
                                    {
                                      "argumentTypes": null,
                                      "id": 2810,
                                      "name": "name",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 2694,
                                      "src": "4385:4:10",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string memory"
                                      }
                                    },
                                    {
                                      "argumentTypes": null,
                                      "id": 2811,
                                      "name": "name",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 2694,
                                      "src": "4391:4:10",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string memory"
                                      }
                                    },
                                    {
                                      "argumentTypes": null,
                                      "id": 2812,
                                      "name": "subscriptionId",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 2697,
                                      "src": "4397:14:10",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string memory"
                                      }
                                    },
                                    {
                                      "argumentTypes": null,
                                      "id": 2813,
                                      "name": "role",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 2700,
                                      "src": "4413:4:10",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string memory"
                                      }
                                    },
                                    {
                                      "argumentTypes": null,
                                      "id": 2814,
                                      "name": "accountAddress",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 2706,
                                      "src": "4419:14:10",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                      }
                                    },
                                    {
                                      "argumentTypes": null,
                                      "id": 2816,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "nodeType": "UnaryOperation",
                                      "operator": "++",
                                      "prefix": false,
                                      "src": "4435:22:10",
                                      "subExpression": {
                                        "argumentTypes": null,
                                        "id": 2815,
                                        "name": "correlationIdCounter",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 2589,
                                        "src": "4435:20:10",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        }
                                      },
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": [
                                      {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string memory"
                                      },
                                      {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string memory"
                                      },
                                      {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string memory"
                                      },
                                      {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string memory"
                                      },
                                      {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                      },
                                      {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    ],
                                    "id": 2809,
                                    "name": "_addMember",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 3343,
                                    "src": "4374:10:10",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_address_$_t_uint256_$returns$__$",
                                      "typeString": "function (string memory,string memory,string memory,string memory,address,uint256)"
                                    }
                                  },
                                  "id": 2817,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "kind": "functionCall",
                                  "lValueRequested": false,
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "4374:84:10",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_tuple$__$",
                                    "typeString": "tuple()"
                                  }
                                },
                                "id": 2818,
                                "nodeType": "ExpressionStatement",
                                "src": "4374:84:10"
                              }
                            ]
                          }
                        },
                        "id": 2845,
                        "nodeType": "IfStatement",
                        "src": "4232:572:10",
                        "trueBody": {
                          "id": 2803,
                          "nodeType": "Block",
                          "src": "4250:43:10",
                          "statements": [
                            {
                              "id": 2802,
                              "nodeType": "Continue",
                              "src": "4269:8:10"
                            }
                          ]
                        }
                      }
                    ]
                  },
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 2748,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 2744,
                      "name": "i",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 2691,
                      "src": "3642:1:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "<",
                    "rightExpression": {
                      "argumentTypes": null,
                      "arguments": [],
                      "expression": {
                        "argumentTypes": [],
                        "expression": {
                          "argumentTypes": null,
                          "id": 2745,
                          "name": "oldPrivatePreviewMembers",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 2733,
                          "src": "3646:24:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_contract$_PrivatePreviewMembers_$1898",
                            "typeString": "contract PrivatePreviewMembers"
                          }
                        },
                        "id": 2746,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "members_iterator_end",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 1752,
                        "src": "3646:45:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$",
                          "typeString": "function () view external returns (uint256)"
                        }
                      },
                      "id": 2747,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "3646:47:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "3642:51:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 2847,
                  "initializationExpression": {
                    "expression": {
                      "argumentTypes": null,
                      "id": 2742,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftHandSide": {
                        "argumentTypes": null,
                        "id": 2738,
                        "name": "i",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2691,
                        "src": "3587:1:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "nodeType": "Assignment",
                      "operator": "=",
                      "rightHandSide": {
                        "argumentTypes": null,
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "expression": {
                            "argumentTypes": null,
                            "id": 2739,
                            "name": "oldPrivatePreviewMembers",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2733,
                            "src": "3591:24:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_PrivatePreviewMembers_$1898",
                              "typeString": "contract PrivatePreviewMembers"
                            }
                          },
                          "id": 2740,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "members_iterator_begin",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 1743,
                          "src": "3591:47:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_pure$__$returns$_t_uint256_$",
                            "typeString": "function () pure external returns (uint256)"
                          }
                        },
                        "id": 2741,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "3591:49:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "src": "3587:53:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 2743,
                    "nodeType": "ExpressionStatement",
                    "src": "3587:53:10"
                  },
                  "loopExpression": {
                    "expression": {
                      "argumentTypes": null,
                      "id": 2750,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "UnaryOperation",
                      "operator": "++",
                      "prefix": false,
                      "src": "3695:3:10",
                      "subExpression": {
                        "argumentTypes": null,
                        "id": 2749,
                        "name": "i",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2691,
                        "src": "3695:1:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 2751,
                    "nodeType": "ExpressionStatement",
                    "src": "3695:3:10"
                  },
                  "nodeType": "ForStatement",
                  "src": "3582:1233:10"
                }
              ]
            },
            "documentation": null,
            "id": 2849,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": null,
                "id": 2680,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 2679,
                  "name": "activateAccessControl",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 23,
                  "src": "3004:21:10",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "3004:21:10"
              }
            ],
            "name": "activate",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 2678,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2992:2:10"
            },
            "payable": false,
            "returnParameters": {
              "id": 2681,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "3026:0:10"
            },
            "scope": 3928,
            "src": "2975:1847:10",
            "stateMutability": "nonpayable",
            "superFunction": 52,
            "visibility": "external"
          },
          {
            "body": {
              "id": 2887,
              "nodeType": "Block",
              "src": "5026:284:10",
              "statements": [
                {
                  "assignments": [
                    2863
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 2863,
                      "name": "role",
                      "nodeType": "VariableDeclaration",
                      "scope": 2888,
                      "src": "5037:18:10",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_memory_ptr",
                        "typeString": "string"
                      },
                      "typeName": {
                        "id": 2862,
                        "name": "string",
                        "nodeType": "ElementaryTypeName",
                        "src": "5037:6:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_storage_ptr",
                          "typeString": "string"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 2867,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 2865,
                        "name": "_subscriptionId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2855,
                        "src": "5076:15:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      ],
                      "id": 2864,
                      "name": "getInvitationRole",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 3213,
                      "src": "5058:17:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$",
                        "typeString": "function (string memory) view returns (string memory)"
                      }
                    },
                    "id": 2866,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5058:34:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory_ptr",
                      "typeString": "string memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "5037:55:10"
                },
                {
                  "assignments": [
                    2869
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 2869,
                      "name": "correlationId",
                      "nodeType": "VariableDeclaration",
                      "scope": 2888,
                      "src": "5103:18:10",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 2868,
                        "name": "uint",
                        "nodeType": "ElementaryTypeName",
                        "src": "5103:4:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 2873,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 2871,
                        "name": "_subscriptionId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2855,
                        "src": "5151:15:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      ],
                      "id": 2870,
                      "name": "getInvitationCorrelationId",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 3233,
                      "src": "5124:26:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$_t_uint256_$",
                        "typeString": "function (string memory) view returns (uint256)"
                      }
                    },
                    "id": 2872,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5124:43:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "5103:64:10"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 2875,
                        "name": "_subscriptionId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2855,
                        "src": "5196:15:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      ],
                      "id": 2874,
                      "name": "_removeInvitation",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 3779,
                      "src": "5178:17:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (string memory)"
                      }
                    },
                    "id": 2876,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5178:34:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 2877,
                  "nodeType": "ExpressionStatement",
                  "src": "5178:34:10"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 2879,
                        "name": "_name",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2851,
                        "src": "5234:5:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 2880,
                        "name": "_displayName",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2853,
                        "src": "5241:12:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 2881,
                        "name": "_subscriptionId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2855,
                        "src": "5255:15:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 2882,
                        "name": "role",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2863,
                        "src": "5272:4:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 2883,
                        "name": "_account",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2857,
                        "src": "5278:8:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 2884,
                        "name": "correlationId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2869,
                        "src": "5288:13:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        },
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        },
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        },
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 2878,
                      "name": "_addMember",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 3343,
                      "src": "5223:10:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_address_$_t_uint256_$returns$__$",
                        "typeString": "function (string memory,string memory,string memory,string memory,address,uint256)"
                      }
                    },
                    "id": 2885,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5223:79:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 2886,
                  "nodeType": "ExpressionStatement",
                  "src": "5223:79:10"
                }
              ]
            },
            "documentation": null,
            "id": 2888,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": null,
                "id": 2860,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 2859,
                  "name": "isFromOperator",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 2608,
                  "src": "5006:14:10",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "5006:14:10"
              }
            ],
            "name": "addMember",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 2858,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2851,
                  "name": "_name",
                  "nodeType": "VariableDeclaration",
                  "scope": 2888,
                  "src": "4859:19:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 2850,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "4859:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2853,
                  "name": "_displayName",
                  "nodeType": "VariableDeclaration",
                  "scope": 2888,
                  "src": "4889:26:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 2852,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "4889:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2855,
                  "name": "_subscriptionId",
                  "nodeType": "VariableDeclaration",
                  "scope": 2888,
                  "src": "4926:29:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 2854,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "4926:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2857,
                  "name": "_account",
                  "nodeType": "VariableDeclaration",
                  "scope": 2888,
                  "src": "4966:16:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 2856,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "4966:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "4848:141:10"
            },
            "payable": false,
            "returnParameters": {
              "id": 2861,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "5026:0:10"
            },
            "scope": 3928,
            "src": "4830:480:10",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 2913,
              "nodeType": "Block",
              "src": "5547:108:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 2904,
                        "name": "_name",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2890,
                        "src": "5569:5:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 2905,
                        "name": "_displayName",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2892,
                        "src": "5576:12:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 2906,
                        "name": "_subscriptionId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2894,
                        "src": "5590:15:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 2907,
                        "name": "_role",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2896,
                        "src": "5607:5:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 2908,
                        "name": "_account",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2898,
                        "src": "5614:8:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 2910,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "UnaryOperation",
                        "operator": "++",
                        "prefix": false,
                        "src": "5624:22:10",
                        "subExpression": {
                          "argumentTypes": null,
                          "id": 2909,
                          "name": "correlationIdCounter",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 2589,
                          "src": "5624:20:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        },
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        },
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        },
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 2903,
                      "name": "_addMember",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 3343,
                      "src": "5558:10:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_address_$_t_uint256_$returns$__$",
                        "typeString": "function (string memory,string memory,string memory,string memory,address,uint256)"
                      }
                    },
                    "id": 2911,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5558:89:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 2912,
                  "nodeType": "ExpressionStatement",
                  "src": "5558:89:10"
                }
              ]
            },
            "documentation": null,
            "id": 2914,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": null,
                "id": 2901,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 2900,
                  "name": "isFromOperator",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 2608,
                  "src": "5527:14:10",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "5527:14:10"
              }
            ],
            "name": "injectMember",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 2899,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2890,
                  "name": "_name",
                  "nodeType": "VariableDeclaration",
                  "scope": 2914,
                  "src": "5350:19:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 2889,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "5350:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2892,
                  "name": "_displayName",
                  "nodeType": "VariableDeclaration",
                  "scope": 2914,
                  "src": "5380:26:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 2891,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "5380:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2894,
                  "name": "_subscriptionId",
                  "nodeType": "VariableDeclaration",
                  "scope": 2914,
                  "src": "5417:29:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 2893,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "5417:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2896,
                  "name": "_role",
                  "nodeType": "VariableDeclaration",
                  "scope": 2914,
                  "src": "5457:19:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 2895,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "5457:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2898,
                  "name": "_account",
                  "nodeType": "VariableDeclaration",
                  "scope": 2914,
                  "src": "5487:16:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 2897,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "5487:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "5339:171:10"
            },
            "payable": false,
            "returnParameters": {
              "id": 2902,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "5547:0:10"
            },
            "scope": 3928,
            "src": "5318:337:10",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 2942,
              "nodeType": "Block",
              "src": "5713:302:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        "id": 2934,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          },
                          "id": 2929,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "expression": {
                                  "argumentTypes": null,
                                  "id": 2921,
                                  "name": "msg",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 4096,
                                  "src": "5761:3:10",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_magic_message",
                                    "typeString": "msg"
                                  }
                                },
                                "id": 2922,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "sender",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": null,
                                "src": "5761:10:10",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              ],
                              "id": 2920,
                              "name": "isAdminAddress",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 3660,
                              "src": "5746:14:10",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$",
                                "typeString": "function (address) view returns (bool)"
                              }
                            },
                            "id": 2923,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "5746:26:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "||",
                          "rightExpression": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "expression": {
                                  "argumentTypes": null,
                                  "id": 2925,
                                  "name": "msg",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 4096,
                                  "src": "5808:3:10",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_magic_message",
                                    "typeString": "msg"
                                  }
                                },
                                "id": 2926,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "sender",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": null,
                                "src": "5808:10:10",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "id": 2927,
                                "name": "_name",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 2916,
                                "src": "5820:5:10",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_string_memory_ptr",
                                  "typeString": "string memory"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                },
                                {
                                  "typeIdentifier": "t_string_memory_ptr",
                                  "typeString": "string memory"
                                }
                              ],
                              "id": 2924,
                              "name": "isAddressOfMember",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 3685,
                              "src": "5790:17:10",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_view$_t_address_$_t_string_memory_ptr_$returns$_t_bool_$",
                                "typeString": "function (address,string memory) view returns (bool)"
                              }
                            },
                            "id": 2928,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "5790:36:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          },
                          "src": "5746:80:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "||",
                        "rightExpression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "expression": {
                                "argumentTypes": null,
                                "id": 2931,
                                "name": "msg",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 4096,
                                "src": "5862:3:10",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_magic_message",
                                  "typeString": "msg"
                                }
                              },
                              "id": 2932,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "sender",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": null,
                              "src": "5862:10:10",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            ],
                            "id": 2930,
                            "name": "isOperatorAddress",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 3843,
                            "src": "5844:17:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$",
                              "typeString": "function (address) view returns (bool)"
                            }
                          },
                          "id": 2933,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "5844:29:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "src": "5746:127:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "4f6e6c79207065726d69747320696e766f636174696f6e2066726f6d2061646d696e732c20746865206d656d626572207468656d73656c766573206f7220746865206f70657261746f722e",
                        "id": 2935,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "5888:77:10",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_a78414d0e07811c12d60690fa3c927a8d5a4c2bcd721a3a974b3cf5fb477c67c",
                          "typeString": "literal_string \"Only permits invocation from admins, the member themselves or the operator.\""
                        },
                        "value": "Only permits invocation from admins, the member themselves or the operator."
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_a78414d0e07811c12d60690fa3c927a8d5a4c2bcd721a3a974b3cf5fb477c67c",
                          "typeString": "literal_string \"Only permits invocation from admins, the member themselves or the operator.\""
                        }
                      ],
                      "id": 2919,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        4099,
                        4100
                      ],
                      "referencedDeclaration": 4100,
                      "src": "5724:7:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 2936,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5724:252:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 2937,
                  "nodeType": "ExpressionStatement",
                  "src": "5724:252:10"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 2939,
                        "name": "_name",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2916,
                        "src": "6001:5:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      ],
                      "id": 2938,
                      "name": "_removeMember",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 3451,
                      "src": "5987:13:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (string memory)"
                      }
                    },
                    "id": 2940,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5987:20:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 2941,
                  "nodeType": "ExpressionStatement",
                  "src": "5987:20:10"
                }
              ]
            },
            "documentation": null,
            "id": 2943,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "removeMember",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 2917,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2916,
                  "name": "_name",
                  "nodeType": "VariableDeclaration",
                  "scope": 2943,
                  "src": "5685:19:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 2915,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "5685:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "5684:21:10"
            },
            "payable": false,
            "returnParameters": {
              "id": 2918,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "5713:0:10"
            },
            "scope": 3928,
            "src": "5663:352:10",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 2957,
              "nodeType": "Block",
              "src": "6110:53:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 2953,
                        "name": "_name",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2945,
                        "src": "6139:5:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 2954,
                        "name": "_account",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2947,
                        "src": "6146:8:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      ],
                      "id": 2952,
                      "name": "_setMemberAccount",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 3514,
                      "src": "6121:17:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_address_$returns$__$",
                        "typeString": "function (string memory,address)"
                      }
                    },
                    "id": 2955,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "6121:34:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 2956,
                  "nodeType": "ExpressionStatement",
                  "src": "6121:34:10"
                }
              ]
            },
            "documentation": null,
            "id": 2958,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": null,
                "id": 2950,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 2949,
                  "name": "isFromOperator",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 2608,
                  "src": "6095:14:10",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "6095:14:10"
              }
            ],
            "name": "setMemberAccount",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 2948,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2945,
                  "name": "_name",
                  "nodeType": "VariableDeclaration",
                  "scope": 2958,
                  "src": "6049:19:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 2944,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "6049:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2947,
                  "name": "_account",
                  "nodeType": "VariableDeclaration",
                  "scope": 2958,
                  "src": "6070:16:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 2946,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "6070:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "6048:39:10"
            },
            "payable": false,
            "returnParameters": {
              "id": 2951,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "6110:0:10"
            },
            "scope": 3928,
            "src": "6023:140:10",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 2982,
              "nodeType": "Block",
              "src": "6298:86:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 2980,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 2971,
                          "name": "memberList",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 2585,
                          "src": "6309:10:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_struct$_Member_$2556_storage_$dyn_storage",
                            "typeString": "struct Members.Member storage ref[] storage ref"
                          }
                        },
                        "id": 2977,
                        "indexExpression": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 2976,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 2972,
                              "name": "memberIndexByName",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 2578,
                              "src": "6320:17:10",
                              "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_string_memory_$_t_uint256_$",
                                "typeString": "mapping(string memory => uint256)"
                              }
                            },
                            "id": 2974,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 2973,
                              "name": "_name",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 2960,
                              "src": "6338:5:10",
                              "typeDescriptions": {
                                "typeIdentifier": "t_string_memory_ptr",
                                "typeString": "string memory"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "6320:24:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "-",
                          "rightExpression": {
                            "argumentTypes": null,
                            "hexValue": "31",
                            "id": 2975,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "6347:1:10",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_1_by_1",
                              "typeString": "int_const 1"
                            },
                            "value": "1"
                          },
                          "src": "6320:28:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "6309:40:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Member_$2556_storage",
                          "typeString": "struct Members.Member storage ref"
                        }
                      },
                      "id": 2978,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "displayName",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 2547,
                      "src": "6309:52:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_storage",
                        "typeString": "string storage ref"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 2979,
                      "name": "_displayName",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 2962,
                      "src": "6364:12:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_memory_ptr",
                        "typeString": "string memory"
                      }
                    },
                    "src": "6309:67:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage",
                      "typeString": "string storage ref"
                    }
                  },
                  "id": 2981,
                  "nodeType": "ExpressionStatement",
                  "src": "6309:67:10"
                }
              ]
            },
            "documentation": null,
            "id": 2983,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "id": 2965,
                    "name": "_name",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 2960,
                    "src": "6268:5:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory_ptr",
                      "typeString": "string memory"
                    }
                  }
                ],
                "id": 2966,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 2964,
                  "name": "isFromSelf",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 2635,
                  "src": "6257:10:10",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$_t_string_memory_ptr_$",
                    "typeString": "modifier (string memory)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "6257:17:10"
              },
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "id": 2968,
                    "name": "_name",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 2960,
                    "src": "6291:5:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory_ptr",
                      "typeString": "string memory"
                    }
                  }
                ],
                "id": 2969,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 2967,
                  "name": "isMemberExisted",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 2648,
                  "src": "6275:15:10",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$_t_string_memory_ptr_$",
                    "typeString": "modifier (string memory)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "6275:22:10"
              }
            ],
            "name": "setMemberDisplayName",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 2963,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2960,
                  "name": "_name",
                  "nodeType": "VariableDeclaration",
                  "scope": 2983,
                  "src": "6201:19:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 2959,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "6201:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2962,
                  "name": "_displayName",
                  "nodeType": "VariableDeclaration",
                  "scope": 2983,
                  "src": "6222:26:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 2961,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "6222:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "6200:49:10"
            },
            "payable": false,
            "returnParameters": {
              "id": 2970,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "6298:0:10"
            },
            "scope": 3928,
            "src": "6171:213:10",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 2997,
              "nodeType": "Block",
              "src": "6476:47:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 2993,
                        "name": "_name",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2985,
                        "src": "6502:5:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 2994,
                        "name": "_role",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2987,
                        "src": "6509:5:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        },
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      ],
                      "id": 2992,
                      "name": "_setMemberRole",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 3582,
                      "src": "6487:14:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (string memory,string memory)"
                      }
                    },
                    "id": 2995,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "6487:28:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 2996,
                  "nodeType": "ExpressionStatement",
                  "src": "6487:28:10"
                }
              ]
            },
            "documentation": null,
            "id": 2998,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": null,
                "id": 2990,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 2989,
                  "name": "isFromAdmin",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 2620,
                  "src": "6464:11:10",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "6464:11:10"
              }
            ],
            "name": "setMemberRole",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 2988,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 2985,
                  "name": "_name",
                  "nodeType": "VariableDeclaration",
                  "scope": 2998,
                  "src": "6415:19:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 2984,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "6415:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 2987,
                  "name": "_role",
                  "nodeType": "VariableDeclaration",
                  "scope": 2998,
                  "src": "6436:19:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 2986,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "6436:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "6414:42:10"
            },
            "payable": false,
            "returnParameters": {
              "id": 2991,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "6476:0:10"
            },
            "scope": 3928,
            "src": "6392:131:10",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 3017,
              "nodeType": "Block",
              "src": "6644:81:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "expression": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 3008,
                        "name": "memberList",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2585,
                        "src": "6662:10:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_Member_$2556_storage_$dyn_storage",
                          "typeString": "struct Members.Member storage ref[] storage ref"
                        }
                      },
                      "id": 3014,
                      "indexExpression": {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 3013,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "id": 3009,
                            "name": "memberIndexByName",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2578,
                            "src": "6673:17:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_mapping$_t_string_memory_$_t_uint256_$",
                              "typeString": "mapping(string memory => uint256)"
                            }
                          },
                          "id": 3011,
                          "indexExpression": {
                            "argumentTypes": null,
                            "id": 3010,
                            "name": "_name",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 3000,
                            "src": "6691:5:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "6673:24:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "-",
                        "rightExpression": {
                          "argumentTypes": null,
                          "hexValue": "31",
                          "id": 3012,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "6700:1:10",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_1_by_1",
                            "typeString": "int_const 1"
                          },
                          "value": "1"
                        },
                        "src": "6673:28:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "IndexAccess",
                      "src": "6662:40:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Member_$2556_storage",
                        "typeString": "struct Members.Member storage ref"
                      }
                    },
                    "id": 3015,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberName": "subscriptionId",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": 2549,
                    "src": "6662:55:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage",
                      "typeString": "string storage ref"
                    }
                  },
                  "functionReturnParameters": 3007,
                  "id": 3016,
                  "nodeType": "Return",
                  "src": "6655:62:10"
                }
              ]
            },
            "documentation": null,
            "id": 3018,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "id": 3003,
                    "name": "_name",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 3000,
                    "src": "6613:5:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory_ptr",
                      "typeString": "string memory"
                    }
                  }
                ],
                "id": 3004,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 3002,
                  "name": "isMemberExisted",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 2648,
                  "src": "6597:15:10",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$_t_string_memory_ptr_$",
                    "typeString": "modifier (string memory)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "6597:22:10"
              }
            ],
            "name": "getMemberSubscriptionId",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3001,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3000,
                  "name": "_name",
                  "nodeType": "VariableDeclaration",
                  "scope": 3018,
                  "src": "6564:19:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 2999,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "6564:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "6563:21:10"
            },
            "payable": false,
            "returnParameters": {
              "id": 3007,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3006,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 3018,
                  "src": "6629:6:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 3005,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "6629:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "6628:15:10"
            },
            "scope": 3928,
            "src": "6531:194:10",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 3037,
              "nodeType": "Block",
              "src": "6833:74:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "expression": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 3028,
                        "name": "memberList",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2585,
                        "src": "6851:10:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_Member_$2556_storage_$dyn_storage",
                          "typeString": "struct Members.Member storage ref[] storage ref"
                        }
                      },
                      "id": 3034,
                      "indexExpression": {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 3033,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "id": 3029,
                            "name": "memberIndexByName",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2578,
                            "src": "6862:17:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_mapping$_t_string_memory_$_t_uint256_$",
                              "typeString": "mapping(string memory => uint256)"
                            }
                          },
                          "id": 3031,
                          "indexExpression": {
                            "argumentTypes": null,
                            "id": 3030,
                            "name": "_name",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 3020,
                            "src": "6880:5:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "6862:24:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "-",
                        "rightExpression": {
                          "argumentTypes": null,
                          "hexValue": "31",
                          "id": 3032,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "6889:1:10",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_1_by_1",
                            "typeString": "int_const 1"
                          },
                          "value": "1"
                        },
                        "src": "6862:28:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "IndexAccess",
                      "src": "6851:40:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Member_$2556_storage",
                        "typeString": "struct Members.Member storage ref"
                      }
                    },
                    "id": 3035,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberName": "account",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": 2553,
                    "src": "6851:48:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "functionReturnParameters": 3027,
                  "id": 3036,
                  "nodeType": "Return",
                  "src": "6844:55:10"
                }
              ]
            },
            "documentation": null,
            "id": 3038,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "id": 3023,
                    "name": "_name",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 3020,
                    "src": "6808:5:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory_ptr",
                      "typeString": "string memory"
                    }
                  }
                ],
                "id": 3024,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 3022,
                  "name": "isMemberExisted",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 2648,
                  "src": "6792:15:10",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$_t_string_memory_ptr_$",
                    "typeString": "modifier (string memory)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "6792:22:10"
              }
            ],
            "name": "getMemberAccount",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3021,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3020,
                  "name": "_name",
                  "nodeType": "VariableDeclaration",
                  "scope": 3038,
                  "src": "6759:19:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 3019,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "6759:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "6758:21:10"
            },
            "payable": false,
            "returnParameters": {
              "id": 3027,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3026,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 3038,
                  "src": "6824:7:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 3025,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "6824:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "6823:9:10"
            },
            "scope": 3928,
            "src": "6733:174:10",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 3057,
              "nodeType": "Block",
              "src": "7025:78:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "expression": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 3048,
                        "name": "memberList",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2585,
                        "src": "7043:10:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_Member_$2556_storage_$dyn_storage",
                          "typeString": "struct Members.Member storage ref[] storage ref"
                        }
                      },
                      "id": 3054,
                      "indexExpression": {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 3053,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "id": 3049,
                            "name": "memberIndexByName",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2578,
                            "src": "7054:17:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_mapping$_t_string_memory_$_t_uint256_$",
                              "typeString": "mapping(string memory => uint256)"
                            }
                          },
                          "id": 3051,
                          "indexExpression": {
                            "argumentTypes": null,
                            "id": 3050,
                            "name": "_name",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 3040,
                            "src": "7072:5:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "7054:24:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "-",
                        "rightExpression": {
                          "argumentTypes": null,
                          "hexValue": "31",
                          "id": 3052,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "7081:1:10",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_1_by_1",
                            "typeString": "int_const 1"
                          },
                          "value": "1"
                        },
                        "src": "7054:28:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "IndexAccess",
                      "src": "7043:40:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Member_$2556_storage",
                        "typeString": "struct Members.Member storage ref"
                      }
                    },
                    "id": 3055,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberName": "displayName",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": 2547,
                    "src": "7043:52:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage",
                      "typeString": "string storage ref"
                    }
                  },
                  "functionReturnParameters": 3047,
                  "id": 3056,
                  "nodeType": "Return",
                  "src": "7036:59:10"
                }
              ]
            },
            "documentation": null,
            "id": 3058,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "id": 3043,
                    "name": "_name",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 3040,
                    "src": "6994:5:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory_ptr",
                      "typeString": "string memory"
                    }
                  }
                ],
                "id": 3044,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 3042,
                  "name": "isMemberExisted",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 2648,
                  "src": "6978:15:10",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$_t_string_memory_ptr_$",
                    "typeString": "modifier (string memory)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "6978:22:10"
              }
            ],
            "name": "getMemberDisplayName",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3041,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3040,
                  "name": "_name",
                  "nodeType": "VariableDeclaration",
                  "scope": 3058,
                  "src": "6945:19:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 3039,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "6945:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "6944:21:10"
            },
            "payable": false,
            "returnParameters": {
              "id": 3047,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3046,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 3058,
                  "src": "7010:6:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 3045,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "7010:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "7009:15:10"
            },
            "scope": 3928,
            "src": "6915:188:10",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 3077,
              "nodeType": "Block",
              "src": "7214:71:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "expression": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 3068,
                        "name": "memberList",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2585,
                        "src": "7232:10:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_Member_$2556_storage_$dyn_storage",
                          "typeString": "struct Members.Member storage ref[] storage ref"
                        }
                      },
                      "id": 3074,
                      "indexExpression": {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 3073,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "id": 3069,
                            "name": "memberIndexByName",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2578,
                            "src": "7243:17:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_mapping$_t_string_memory_$_t_uint256_$",
                              "typeString": "mapping(string memory => uint256)"
                            }
                          },
                          "id": 3071,
                          "indexExpression": {
                            "argumentTypes": null,
                            "id": 3070,
                            "name": "_name",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 3060,
                            "src": "7261:5:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "7243:24:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "-",
                        "rightExpression": {
                          "argumentTypes": null,
                          "hexValue": "31",
                          "id": 3072,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "7270:1:10",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_1_by_1",
                            "typeString": "int_const 1"
                          },
                          "value": "1"
                        },
                        "src": "7243:28:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "IndexAccess",
                      "src": "7232:40:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Member_$2556_storage",
                        "typeString": "struct Members.Member storage ref"
                      }
                    },
                    "id": 3075,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberName": "role",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": 2551,
                    "src": "7232:45:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage",
                      "typeString": "string storage ref"
                    }
                  },
                  "functionReturnParameters": 3067,
                  "id": 3076,
                  "nodeType": "Return",
                  "src": "7225:52:10"
                }
              ]
            },
            "documentation": null,
            "id": 3078,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "id": 3063,
                    "name": "_name",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 3060,
                    "src": "7183:5:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory_ptr",
                      "typeString": "string memory"
                    }
                  }
                ],
                "id": 3064,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 3062,
                  "name": "isMemberExisted",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 2648,
                  "src": "7167:15:10",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$_t_string_memory_ptr_$",
                    "typeString": "modifier (string memory)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "7167:22:10"
              }
            ],
            "name": "getMemberRole",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3061,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3060,
                  "name": "_name",
                  "nodeType": "VariableDeclaration",
                  "scope": 3078,
                  "src": "7134:19:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 3059,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "7134:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "7133:21:10"
            },
            "payable": false,
            "returnParameters": {
              "id": 3067,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3066,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 3078,
                  "src": "7199:6:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 3065,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "7199:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "7198:15:10"
            },
            "scope": 3928,
            "src": "7111:174:10",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 3090,
              "nodeType": "Block",
              "src": "7398:33:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "hexValue": "5265616479",
                    "id": 3088,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": true,
                    "kind": "string",
                    "lValueRequested": false,
                    "nodeType": "Literal",
                    "src": "7416:7:10",
                    "subdenomination": null,
                    "typeDescriptions": {
                      "typeIdentifier": "t_stringliteral_ce5ceceb3b018dc53cd7e23daa9f08f268ec71a6dd745acc69b20cd937af5503",
                      "typeString": "literal_string \"Ready\""
                    },
                    "value": "Ready"
                  },
                  "functionReturnParameters": 3087,
                  "id": 3089,
                  "nodeType": "Return",
                  "src": "7409:14:10"
                }
              ]
            },
            "documentation": null,
            "id": 3091,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "id": 3083,
                    "name": "_name",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 3080,
                    "src": "7367:5:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory_ptr",
                      "typeString": "string memory"
                    }
                  }
                ],
                "id": 3084,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 3082,
                  "name": "isMemberExisted",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 2648,
                  "src": "7351:15:10",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$_t_string_memory_ptr_$",
                    "typeString": "modifier (string memory)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "7351:22:10"
              }
            ],
            "name": "getMemberStatus",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3081,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3080,
                  "name": "_name",
                  "nodeType": "VariableDeclaration",
                  "scope": 3091,
                  "src": "7318:19:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 3079,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "7318:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "7317:21:10"
            },
            "payable": false,
            "returnParameters": {
              "id": 3087,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3086,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 3091,
                  "src": "7383:6:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 3085,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "7383:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "7382:15:10"
            },
            "scope": 3928,
            "src": "7293:138:10",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 3110,
              "nodeType": "Block",
              "src": "7542:80:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "expression": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 3101,
                        "name": "memberList",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2585,
                        "src": "7560:10:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_Member_$2556_storage_$dyn_storage",
                          "typeString": "struct Members.Member storage ref[] storage ref"
                        }
                      },
                      "id": 3107,
                      "indexExpression": {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 3106,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "id": 3102,
                            "name": "memberIndexByName",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2578,
                            "src": "7571:17:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_mapping$_t_string_memory_$_t_uint256_$",
                              "typeString": "mapping(string memory => uint256)"
                            }
                          },
                          "id": 3104,
                          "indexExpression": {
                            "argumentTypes": null,
                            "id": 3103,
                            "name": "_name",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 3093,
                            "src": "7589:5:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "7571:24:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "-",
                        "rightExpression": {
                          "argumentTypes": null,
                          "hexValue": "31",
                          "id": 3105,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "7598:1:10",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_1_by_1",
                            "typeString": "int_const 1"
                          },
                          "value": "1"
                        },
                        "src": "7571:28:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "IndexAccess",
                      "src": "7560:40:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Member_$2556_storage",
                        "typeString": "struct Members.Member storage ref"
                      }
                    },
                    "id": 3108,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberName": "correlationId",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": 2555,
                    "src": "7560:54:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 3100,
                  "id": 3109,
                  "nodeType": "Return",
                  "src": "7553:61:10"
                }
              ]
            },
            "documentation": null,
            "id": 3111,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "id": 3096,
                    "name": "_name",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 3093,
                    "src": "7520:5:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory_ptr",
                      "typeString": "string memory"
                    }
                  }
                ],
                "id": 3097,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 3095,
                  "name": "isMemberExisted",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 2648,
                  "src": "7504:15:10",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$_t_string_memory_ptr_$",
                    "typeString": "modifier (string memory)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "7504:22:10"
              }
            ],
            "name": "getMemberCorrelationId",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3094,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3093,
                  "name": "_name",
                  "nodeType": "VariableDeclaration",
                  "scope": 3111,
                  "src": "7471:19:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 3092,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "7471:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "7470:21:10"
            },
            "payable": false,
            "returnParameters": {
              "id": 3100,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3099,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 3111,
                  "src": "7536:4:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 3098,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "7536:4:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "7535:6:10"
            },
            "scope": 3928,
            "src": "7439:183:10",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 3118,
              "nodeType": "Block",
              "src": "7682:36:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 3116,
                    "name": "adminCount",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 2587,
                    "src": "7700:10:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 3115,
                  "id": 3117,
                  "nodeType": "Return",
                  "src": "7693:17:10"
                }
              ]
            },
            "documentation": null,
            "id": 3119,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "getAdminCount",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3112,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "7652:2:10"
            },
            "payable": false,
            "returnParameters": {
              "id": 3115,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3114,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 3119,
                  "src": "7676:4:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 3113,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "7676:4:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "7675:6:10"
            },
            "scope": 3928,
            "src": "7630:88:10",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 3127,
              "nodeType": "Block",
              "src": "7779:43:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "expression": {
                      "argumentTypes": null,
                      "id": 3124,
                      "name": "memberList",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 2585,
                      "src": "7797:10:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_struct$_Member_$2556_storage_$dyn_storage",
                        "typeString": "struct Members.Member storage ref[] storage ref"
                      }
                    },
                    "id": 3125,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberName": "length",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": null,
                    "src": "7797:17:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 3123,
                  "id": 3126,
                  "nodeType": "Return",
                  "src": "7790:24:10"
                }
              ]
            },
            "documentation": null,
            "id": 3128,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "getMemberCount",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3120,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "7749:2:10"
            },
            "payable": false,
            "returnParameters": {
              "id": 3123,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3122,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 3128,
                  "src": "7773:4:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 3121,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "7773:4:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "7772:6:10"
            },
            "scope": 3928,
            "src": "7726:96:10",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 3148,
              "nodeType": "Block",
              "src": "7911:129:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 3139,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "id": 3136,
                          "name": "iterator",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3130,
                          "src": "7930:8:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "<",
                        "rightExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 3137,
                            "name": "memberList",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2585,
                            "src": "7941:10:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_struct$_Member_$2556_storage_$dyn_storage",
                              "typeString": "struct Members.Member storage ref[] storage ref"
                            }
                          },
                          "id": 3138,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "length",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "7941:17:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "src": "7930:28:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "496e76616c6964206974657261746f7220737570706c6965642e",
                        "id": 3140,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "7960:28:10",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_d3f3c6d6cacdfe55fb03c0a51a1c170a2d711ed77d44f573f52b0f0aa9d19d1f",
                          "typeString": "literal_string \"Invalid iterator supplied.\""
                        },
                        "value": "Invalid iterator supplied."
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_d3f3c6d6cacdfe55fb03c0a51a1c170a2d711ed77d44f573f52b0f0aa9d19d1f",
                          "typeString": "literal_string \"Invalid iterator supplied.\""
                        }
                      ],
                      "id": 3135,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        4099,
                        4100
                      ],
                      "referencedDeclaration": 4100,
                      "src": "7922:7:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 3141,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "7922:67:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 3142,
                  "nodeType": "ExpressionStatement",
                  "src": "7922:67:10"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "expression": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 3143,
                        "name": "memberList",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2585,
                        "src": "8007:10:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_Member_$2556_storage_$dyn_storage",
                          "typeString": "struct Members.Member storage ref[] storage ref"
                        }
                      },
                      "id": 3145,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 3144,
                        "name": "iterator",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3130,
                        "src": "8018:8:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "IndexAccess",
                      "src": "8007:20:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Member_$2556_storage",
                        "typeString": "struct Members.Member storage ref"
                      }
                    },
                    "id": 3146,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberName": "name",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": 2545,
                    "src": "8007:25:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage",
                      "typeString": "string storage ref"
                    }
                  },
                  "functionReturnParameters": 3134,
                  "id": 3147,
                  "nodeType": "Return",
                  "src": "8000:32:10"
                }
              ]
            },
            "documentation": null,
            "id": 3149,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "getMemberNameAtIndex",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3131,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3130,
                  "name": "iterator",
                  "nodeType": "VariableDeclaration",
                  "scope": 3149,
                  "src": "7860:13:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 3129,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "7860:4:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "7859:15:10"
            },
            "payable": false,
            "returnParameters": {
              "id": 3134,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3133,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 3149,
                  "src": "7896:6:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 3132,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "7896:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "7895:15:10"
            },
            "scope": 3928,
            "src": "7830:210:10",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 3165,
              "nodeType": "Block",
              "src": "8148:81:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 3159,
                        "name": "_subscriptionId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3151,
                        "src": "8174:15:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 3160,
                        "name": "_role",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3153,
                        "src": "8191:5:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 3162,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "UnaryOperation",
                        "operator": "++",
                        "prefix": false,
                        "src": "8198:22:10",
                        "subExpression": {
                          "argumentTypes": null,
                          "id": 3161,
                          "name": "correlationIdCounter",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 2589,
                          "src": "8198:20:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        },
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 3158,
                      "name": "_addInvitation",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 3720,
                      "src": "8159:14:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_uint256_$returns$__$",
                        "typeString": "function (string memory,string memory,uint256)"
                      }
                    },
                    "id": 3163,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "8159:62:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 3164,
                  "nodeType": "ExpressionStatement",
                  "src": "8159:62:10"
                }
              ]
            },
            "documentation": null,
            "id": 3166,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": null,
                "id": 3156,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 3155,
                  "name": "isFromAdmin",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 2620,
                  "src": "8131:11:10",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "8131:11:10"
              }
            ],
            "name": "inviteMember",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3154,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3151,
                  "name": "_subscriptionId",
                  "nodeType": "VariableDeclaration",
                  "scope": 3166,
                  "src": "8072:29:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 3150,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "8072:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3153,
                  "name": "_role",
                  "nodeType": "VariableDeclaration",
                  "scope": 3166,
                  "src": "8103:19:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 3152,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "8103:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "8071:52:10"
            },
            "payable": false,
            "returnParameters": {
              "id": 3157,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "8148:0:10"
            },
            "scope": 3928,
            "src": "8050:179:10",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 3177,
              "nodeType": "Block",
              "src": "8318:53:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 3174,
                        "name": "_subscriptionId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3168,
                        "src": "8347:15:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      ],
                      "id": 3173,
                      "name": "_removeInvitation",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 3779,
                      "src": "8329:17:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (string memory)"
                      }
                    },
                    "id": 3175,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "8329:34:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 3176,
                  "nodeType": "ExpressionStatement",
                  "src": "8329:34:10"
                }
              ]
            },
            "documentation": null,
            "id": 3178,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": null,
                "id": 3171,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 3170,
                  "name": "isFromAdmin",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 2620,
                  "src": "8301:11:10",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "8301:11:10"
              }
            ],
            "name": "removeInvitation",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3169,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3168,
                  "name": "_subscriptionId",
                  "nodeType": "VariableDeclaration",
                  "scope": 3178,
                  "src": "8263:29:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 3167,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "8263:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "8262:31:10"
            },
            "payable": false,
            "returnParameters": {
              "id": 3172,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "8318:0:10"
            },
            "scope": 3928,
            "src": "8237:134:10",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 3192,
              "nodeType": "Block",
              "src": "8477:61:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 3188,
                        "name": "_subscriptionId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3180,
                        "src": "8507:15:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 3189,
                        "name": "_role",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3182,
                        "src": "8524:5:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        },
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      ],
                      "id": 3187,
                      "name": "_setInvitationRole",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 3801,
                      "src": "8488:18:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (string memory,string memory)"
                      }
                    },
                    "id": 3190,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "8488:42:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 3191,
                  "nodeType": "ExpressionStatement",
                  "src": "8488:42:10"
                }
              ]
            },
            "documentation": null,
            "id": 3193,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": null,
                "id": 3185,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 3184,
                  "name": "isFromAdmin",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 2620,
                  "src": "8465:11:10",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "8465:11:10"
              }
            ],
            "name": "setInvitationRole",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3183,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3180,
                  "name": "_subscriptionId",
                  "nodeType": "VariableDeclaration",
                  "scope": 3193,
                  "src": "8406:29:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 3179,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "8406:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3182,
                  "name": "_role",
                  "nodeType": "VariableDeclaration",
                  "scope": 3193,
                  "src": "8437:19:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 3181,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "8437:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "8405:52:10"
            },
            "payable": false,
            "returnParameters": {
              "id": 3186,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "8477:0:10"
            },
            "scope": 3928,
            "src": "8379:159:10",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 3212,
              "nodeType": "Block",
              "src": "8687:99:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "expression": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 3203,
                        "name": "invitationList",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2596,
                        "src": "8705:14:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_MemberInvitation_$2563_storage_$dyn_storage",
                          "typeString": "struct Members.MemberInvitation storage ref[] storage ref"
                        }
                      },
                      "id": 3209,
                      "indexExpression": {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 3208,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "id": 3204,
                            "name": "invitationIndexBySubscriptionId",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2593,
                            "src": "8720:31:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_mapping$_t_string_memory_$_t_uint256_$",
                              "typeString": "mapping(string memory => uint256)"
                            }
                          },
                          "id": 3206,
                          "indexExpression": {
                            "argumentTypes": null,
                            "id": 3205,
                            "name": "_subscriptionId",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 3195,
                            "src": "8752:15:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "8720:48:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "-",
                        "rightExpression": {
                          "argumentTypes": null,
                          "hexValue": "31",
                          "id": 3207,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "8771:1:10",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_1_by_1",
                            "typeString": "int_const 1"
                          },
                          "value": "1"
                        },
                        "src": "8720:52:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "IndexAccess",
                      "src": "8705:68:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_MemberInvitation_$2563_storage",
                        "typeString": "struct Members.MemberInvitation storage ref"
                      }
                    },
                    "id": 3210,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberName": "role",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": 2560,
                    "src": "8705:73:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage",
                      "typeString": "string storage ref"
                    }
                  },
                  "functionReturnParameters": 3202,
                  "id": 3211,
                  "nodeType": "Return",
                  "src": "8698:80:10"
                }
              ]
            },
            "documentation": null,
            "id": 3213,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "id": 3198,
                    "name": "_subscriptionId",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 3195,
                    "src": "8646:15:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory_ptr",
                      "typeString": "string memory"
                    }
                  }
                ],
                "id": 3199,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 3197,
                  "name": "isInvitationExisted",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 2661,
                  "src": "8626:19:10",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$_t_string_memory_ptr_$",
                    "typeString": "modifier (string memory)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "8626:36:10"
              }
            ],
            "name": "getInvitationRole",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3196,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3195,
                  "name": "_subscriptionId",
                  "nodeType": "VariableDeclaration",
                  "scope": 3213,
                  "src": "8573:29:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 3194,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "8573:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "8572:31:10"
            },
            "payable": false,
            "returnParameters": {
              "id": 3202,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3201,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 3213,
                  "src": "8672:6:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 3200,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "8672:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "8671:15:10"
            },
            "scope": 3928,
            "src": "8546:240:10",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 3232,
              "nodeType": "Block",
              "src": "8935:108:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "expression": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 3223,
                        "name": "invitationList",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2596,
                        "src": "8953:14:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_MemberInvitation_$2563_storage_$dyn_storage",
                          "typeString": "struct Members.MemberInvitation storage ref[] storage ref"
                        }
                      },
                      "id": 3229,
                      "indexExpression": {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 3228,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "id": 3224,
                            "name": "invitationIndexBySubscriptionId",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2593,
                            "src": "8968:31:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_mapping$_t_string_memory_$_t_uint256_$",
                              "typeString": "mapping(string memory => uint256)"
                            }
                          },
                          "id": 3226,
                          "indexExpression": {
                            "argumentTypes": null,
                            "id": 3225,
                            "name": "_subscriptionId",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 3215,
                            "src": "9000:15:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "8968:48:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "-",
                        "rightExpression": {
                          "argumentTypes": null,
                          "hexValue": "31",
                          "id": 3227,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "9019:1:10",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_1_by_1",
                            "typeString": "int_const 1"
                          },
                          "value": "1"
                        },
                        "src": "8968:52:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "IndexAccess",
                      "src": "8953:68:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_MemberInvitation_$2563_storage",
                        "typeString": "struct Members.MemberInvitation storage ref"
                      }
                    },
                    "id": 3230,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberName": "correlationId",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": 2562,
                    "src": "8953:82:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 3222,
                  "id": 3231,
                  "nodeType": "Return",
                  "src": "8946:89:10"
                }
              ]
            },
            "documentation": null,
            "id": 3233,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "id": 3218,
                    "name": "_subscriptionId",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 3215,
                    "src": "8903:15:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory_ptr",
                      "typeString": "string memory"
                    }
                  }
                ],
                "id": 3219,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 3217,
                  "name": "isInvitationExisted",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 2661,
                  "src": "8883:19:10",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$_t_string_memory_ptr_$",
                    "typeString": "modifier (string memory)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "8883:36:10"
              }
            ],
            "name": "getInvitationCorrelationId",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3216,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3215,
                  "name": "_subscriptionId",
                  "nodeType": "VariableDeclaration",
                  "scope": 3233,
                  "src": "8830:29:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 3214,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "8830:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "8829:31:10"
            },
            "payable": false,
            "returnParameters": {
              "id": 3222,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3221,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 3233,
                  "src": "8929:4:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 3220,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "8929:4:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "8928:6:10"
            },
            "scope": 3928,
            "src": "8794:249:10",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 3241,
              "nodeType": "Block",
              "src": "9108:47:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "expression": {
                      "argumentTypes": null,
                      "id": 3238,
                      "name": "invitationList",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 2596,
                      "src": "9126:14:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_struct$_MemberInvitation_$2563_storage_$dyn_storage",
                        "typeString": "struct Members.MemberInvitation storage ref[] storage ref"
                      }
                    },
                    "id": 3239,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberName": "length",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": null,
                    "src": "9126:21:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 3237,
                  "id": 3240,
                  "nodeType": "Return",
                  "src": "9119:28:10"
                }
              ]
            },
            "documentation": null,
            "id": 3242,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "getInvitationCount",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3234,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "9078:2:10"
            },
            "payable": false,
            "returnParameters": {
              "id": 3237,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3236,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 3242,
                  "src": "9102:4:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 3235,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "9102:4:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "9101:6:10"
            },
            "scope": 3928,
            "src": "9051:104:10",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 3262,
              "nodeType": "Block",
              "src": "9258:147:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 3253,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "id": 3250,
                          "name": "iterator",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3244,
                          "src": "9277:8:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "<",
                        "rightExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 3251,
                            "name": "invitationList",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2596,
                            "src": "9288:14:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_struct$_MemberInvitation_$2563_storage_$dyn_storage",
                              "typeString": "struct Members.MemberInvitation storage ref[] storage ref"
                            }
                          },
                          "id": 3252,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "length",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "9288:21:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "src": "9277:32:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "496e76616c6964206974657261746f7220737570706c6965642e",
                        "id": 3254,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "9311:28:10",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_d3f3c6d6cacdfe55fb03c0a51a1c170a2d711ed77d44f573f52b0f0aa9d19d1f",
                          "typeString": "literal_string \"Invalid iterator supplied.\""
                        },
                        "value": "Invalid iterator supplied."
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_d3f3c6d6cacdfe55fb03c0a51a1c170a2d711ed77d44f573f52b0f0aa9d19d1f",
                          "typeString": "literal_string \"Invalid iterator supplied.\""
                        }
                      ],
                      "id": 3249,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        4099,
                        4100
                      ],
                      "referencedDeclaration": 4100,
                      "src": "9269:7:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 3255,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "9269:71:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 3256,
                  "nodeType": "ExpressionStatement",
                  "src": "9269:71:10"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "expression": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 3257,
                        "name": "invitationList",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2596,
                        "src": "9358:14:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_MemberInvitation_$2563_storage_$dyn_storage",
                          "typeString": "struct Members.MemberInvitation storage ref[] storage ref"
                        }
                      },
                      "id": 3259,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 3258,
                        "name": "iterator",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3244,
                        "src": "9373:8:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "IndexAccess",
                      "src": "9358:24:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_MemberInvitation_$2563_storage",
                        "typeString": "struct Members.MemberInvitation storage ref"
                      }
                    },
                    "id": 3260,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberName": "subscriptionId",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": 2558,
                    "src": "9358:39:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage",
                      "typeString": "string storage ref"
                    }
                  },
                  "functionReturnParameters": 3248,
                  "id": 3261,
                  "nodeType": "Return",
                  "src": "9351:46:10"
                }
              ]
            },
            "documentation": null,
            "id": 3263,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "getInvitationSubscriptionIdAtIndex",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3245,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3244,
                  "name": "iterator",
                  "nodeType": "VariableDeclaration",
                  "scope": 3263,
                  "src": "9207:13:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 3243,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "9207:4:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "9206:15:10"
            },
            "payable": false,
            "returnParameters": {
              "id": 3248,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3247,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 3263,
                  "src": "9243:6:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 3246,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "9243:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "9242:15:10"
            },
            "scope": 3928,
            "src": "9163:242:10",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 3342,
              "nodeType": "Block",
              "src": "9658:706:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 3282,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "UnaryOperation",
                        "operator": "!",
                        "prefix": true,
                        "src": "9677:24:10",
                        "subExpression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 3280,
                              "name": "_name",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 3265,
                              "src": "9695:5:10",
                              "typeDescriptions": {
                                "typeIdentifier": "t_string_memory_ptr",
                                "typeString": "string memory"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_string_memory_ptr",
                                "typeString": "string memory"
                              }
                            ],
                            "id": 3279,
                            "name": "existsMemberName",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 3606,
                            "src": "9678:16:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$_t_bool_$",
                              "typeString": "function (string memory) view returns (bool)"
                            }
                          },
                          "id": 3281,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "9678:23:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "41206d656d62657220776974682073756368206e616d6520616c7265616479206578697374732e",
                        "id": 3283,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "9703:41:10",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_0efc8d31d976338270ce31c3bf860baa2ed4cc8fc5867cd70bb7d52da8f14092",
                          "typeString": "literal_string \"A member with such name already exists.\""
                        },
                        "value": "A member with such name already exists."
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_0efc8d31d976338270ce31c3bf860baa2ed4cc8fc5867cd70bb7d52da8f14092",
                          "typeString": "literal_string \"A member with such name already exists.\""
                        }
                      ],
                      "id": 3278,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        4099,
                        4100
                      ],
                      "referencedDeclaration": 4100,
                      "src": "9669:7:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 3284,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "9669:76:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 3285,
                  "nodeType": "ExpressionStatement",
                  "src": "9669:76:10"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 3290,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "UnaryOperation",
                        "operator": "!",
                        "prefix": true,
                        "src": "9764:30:10",
                        "subExpression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 3288,
                              "name": "_account",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 3273,
                              "src": "9785:8:10",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            ],
                            "id": 3287,
                            "name": "existsMemberAddress",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 3620,
                            "src": "9765:19:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$",
                              "typeString": "function (address) view returns (bool)"
                            }
                          },
                          "id": 3289,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "9765:29:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "41206d656d62657220776974682073756368206164647265737320616c7265616479206578697374732e",
                        "id": 3291,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "9796:44:10",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_94eb262ddce4b68508e5aabfb3d13085c42fe55646aa06116a382f5cadaabfab",
                          "typeString": "literal_string \"A member with such address already exists.\""
                        },
                        "value": "A member with such address already exists."
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_94eb262ddce4b68508e5aabfb3d13085c42fe55646aa06116a382f5cadaabfab",
                          "typeString": "literal_string \"A member with such address already exists.\""
                        }
                      ],
                      "id": 3286,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        4099,
                        4100
                      ],
                      "referencedDeclaration": 4100,
                      "src": "9756:7:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 3292,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "9756:85:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 3293,
                  "nodeType": "ExpressionStatement",
                  "src": "9756:85:10"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        "id": 3299,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "id": 3295,
                          "name": "_account",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3273,
                          "src": "9860:8:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "!=",
                        "rightExpression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "hexValue": "30",
                              "id": 3297,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "9880:1:10",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_0_by_1",
                                "typeString": "int_const 0"
                              },
                              "value": "0"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_rational_0_by_1",
                                "typeString": "int_const 0"
                              }
                            ],
                            "id": 3296,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "ElementaryTypeNameExpression",
                            "src": "9872:7:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_address_$",
                              "typeString": "type(address)"
                            },
                            "typeName": "address"
                          },
                          "id": 3298,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "typeConversion",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "9872:10:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "src": "9860:22:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "41737369676e696e672061207a65726f2061646472657373206973206e6f7420616c6c6f7765642e",
                        "id": 3300,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "9884:42:10",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_07ba0c61f1ef62f1c4cd7591ad010a0bcd068667ea341e651f4c815c5aeaf250",
                          "typeString": "literal_string \"Assigning a zero address is not allowed.\""
                        },
                        "value": "Assigning a zero address is not allowed."
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_07ba0c61f1ef62f1c4cd7591ad010a0bcd068667ea341e651f4c815c5aeaf250",
                          "typeString": "literal_string \"Assigning a zero address is not allowed.\""
                        }
                      ],
                      "id": 3294,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        4099,
                        4100
                      ],
                      "referencedDeclaration": 4100,
                      "src": "9852:7:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 3301,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "9852:75:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 3302,
                  "nodeType": "ExpressionStatement",
                  "src": "9852:75:10"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 3307,
                            "name": "_name",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 3265,
                            "src": "9977:5:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 3308,
                            "name": "_displayName",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 3267,
                            "src": "9997:12:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 3309,
                            "name": "_subscriptionId",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 3269,
                            "src": "10024:15:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 3310,
                            "name": "_role",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 3271,
                            "src": "10054:5:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 3311,
                            "name": "_account",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 3273,
                            "src": "10074:8:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 3312,
                            "name": "_correlationId",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 3275,
                            "src": "10097:14:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            },
                            {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            },
                            {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            },
                            {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            },
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            },
                            {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          ],
                          "id": 3306,
                          "name": "Member",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 2556,
                          "src": "9956:6:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_struct$_Member_$2556_storage_ptr_$",
                            "typeString": "type(struct Members.Member storage pointer)"
                          }
                        },
                        "id": 3313,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "structConstructorCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "9956:166:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Member_$2556_memory",
                          "typeString": "struct Members.Member memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_struct$_Member_$2556_memory",
                          "typeString": "struct Members.Member memory"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 3303,
                        "name": "memberList",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2585,
                        "src": "9940:10:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_Member_$2556_storage_$dyn_storage",
                          "typeString": "struct Members.Member storage ref[] storage ref"
                        }
                      },
                      "id": 3305,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "push",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "9940:15:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_arraypush_nonpayable$_t_struct$_Member_$2556_storage_$returns$_t_uint256_$",
                        "typeString": "function (struct Members.Member storage ref) returns (uint256)"
                      }
                    },
                    "id": 3314,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "9940:183:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 3315,
                  "nodeType": "ExpressionStatement",
                  "src": "9940:183:10"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 3321,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 3316,
                        "name": "memberIndexByName",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2578,
                        "src": "10134:17:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_string_memory_$_t_uint256_$",
                          "typeString": "mapping(string memory => uint256)"
                        }
                      },
                      "id": 3318,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 3317,
                        "name": "_name",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3265,
                        "src": "10152:5:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "IndexAccess",
                      "src": "10134:24:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "id": 3319,
                        "name": "memberList",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2585,
                        "src": "10161:10:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_Member_$2556_storage_$dyn_storage",
                          "typeString": "struct Members.Member storage ref[] storage ref"
                        }
                      },
                      "id": 3320,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "length",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "10161:17:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "10134:44:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 3322,
                  "nodeType": "ExpressionStatement",
                  "src": "10134:44:10"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 3328,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 3323,
                        "name": "memberIndexByAddress",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2582,
                        "src": "10189:20:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                          "typeString": "mapping(address => uint256)"
                        }
                      },
                      "id": 3325,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 3324,
                        "name": "_account",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3273,
                        "src": "10210:8:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "IndexAccess",
                      "src": "10189:30:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "id": 3326,
                        "name": "memberList",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2585,
                        "src": "10222:10:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_Member_$2556_storage_$dyn_storage",
                          "typeString": "struct Members.Member storage ref[] storage ref"
                        }
                      },
                      "id": 3327,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "length",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "10222:17:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "10189:50:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 3329,
                  "nodeType": "ExpressionStatement",
                  "src": "10189:50:10"
                },
                {
                  "condition": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 3331,
                        "name": "_role",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3271,
                        "src": "10268:5:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      ],
                      "id": 3330,
                      "name": "isAdminRole",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 3903,
                      "src": "10256:11:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_bool_$",
                        "typeString": "function (string memory) pure returns (bool)"
                      }
                    },
                    "id": 3332,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "10256:18:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": null,
                  "id": 3337,
                  "nodeType": "IfStatement",
                  "src": "10252:63:10",
                  "trueBody": {
                    "id": 3336,
                    "nodeType": "Block",
                    "src": "10276:39:10",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 3334,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "UnaryOperation",
                          "operator": "++",
                          "prefix": false,
                          "src": "10291:12:10",
                          "subExpression": {
                            "argumentTypes": null,
                            "id": 3333,
                            "name": "adminCount",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2587,
                            "src": "10291:10:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 3335,
                        "nodeType": "ExpressionStatement",
                        "src": "10291:12:10"
                      }
                    ]
                  }
                },
                {
                  "eventCall": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 3339,
                        "name": "_name",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3265,
                        "src": "10350:5:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      ],
                      "id": 3338,
                      "name": "MemberJoinedEvent",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 2570,
                      "src": "10332:17:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (string memory)"
                      }
                    },
                    "id": 3340,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "10332:24:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 3341,
                  "nodeType": "EmitStatement",
                  "src": "10327:29:10"
                }
              ]
            },
            "documentation": null,
            "id": 3343,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "_addMember",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3276,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3265,
                  "name": "_name",
                  "nodeType": "VariableDeclaration",
                  "scope": 3343,
                  "src": "9445:19:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 3264,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "9445:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3267,
                  "name": "_displayName",
                  "nodeType": "VariableDeclaration",
                  "scope": 3343,
                  "src": "9475:26:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 3266,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "9475:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3269,
                  "name": "_subscriptionId",
                  "nodeType": "VariableDeclaration",
                  "scope": 3343,
                  "src": "9512:29:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 3268,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "9512:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3271,
                  "name": "_role",
                  "nodeType": "VariableDeclaration",
                  "scope": 3343,
                  "src": "9552:19:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 3270,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "9552:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3273,
                  "name": "_account",
                  "nodeType": "VariableDeclaration",
                  "scope": 3343,
                  "src": "9582:16:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 3272,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "9582:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3275,
                  "name": "_correlationId",
                  "nodeType": "VariableDeclaration",
                  "scope": 3343,
                  "src": "9609:19:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 3274,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "9609:4:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "9434:201:10"
            },
            "payable": false,
            "returnParameters": {
              "id": 3277,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "9658:0:10"
            },
            "scope": 3928,
            "src": "9415:949:10",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "private"
          },
          {
            "body": {
              "id": 3450,
              "nodeType": "Block",
              "src": "10447:936:10",
              "statements": [
                {
                  "assignments": [
                    3352
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 3352,
                      "name": "memberIndexBaseZero",
                      "nodeType": "VariableDeclaration",
                      "scope": 3451,
                      "src": "10458:24:10",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 3351,
                        "name": "uint",
                        "nodeType": "ElementaryTypeName",
                        "src": "10458:4:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 3358,
                  "initialValue": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 3357,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 3353,
                        "name": "memberIndexByName",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2578,
                        "src": "10485:17:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_string_memory_$_t_uint256_$",
                          "typeString": "mapping(string memory => uint256)"
                        }
                      },
                      "id": 3355,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 3354,
                        "name": "_name",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3345,
                        "src": "10503:5:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "IndexAccess",
                      "src": "10485:24:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "-",
                    "rightExpression": {
                      "argumentTypes": null,
                      "hexValue": "31",
                      "id": 3356,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "10512:1:10",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_1_by_1",
                        "typeString": "int_const 1"
                      },
                      "value": "1"
                    },
                    "src": "10485:28:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "10458:55:10"
                },
                {
                  "assignments": [
                    3360
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 3360,
                      "name": "memberToRemove",
                      "nodeType": "VariableDeclaration",
                      "scope": 3451,
                      "src": "10524:29:10",
                      "stateVariable": false,
                      "storageLocation": "storage",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Member_$2556_storage_ptr",
                        "typeString": "struct Members.Member"
                      },
                      "typeName": {
                        "contractScope": null,
                        "id": 3359,
                        "name": "Member",
                        "nodeType": "UserDefinedTypeName",
                        "referencedDeclaration": 2556,
                        "src": "10524:6:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Member_$2556_storage_ptr",
                          "typeString": "struct Members.Member"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 3364,
                  "initialValue": {
                    "argumentTypes": null,
                    "baseExpression": {
                      "argumentTypes": null,
                      "id": 3361,
                      "name": "memberList",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 2585,
                      "src": "10556:10:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_struct$_Member_$2556_storage_$dyn_storage",
                        "typeString": "struct Members.Member storage ref[] storage ref"
                      }
                    },
                    "id": 3363,
                    "indexExpression": {
                      "argumentTypes": null,
                      "id": 3362,
                      "name": "memberIndexBaseZero",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 3352,
                      "src": "10567:19:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "IndexAccess",
                    "src": "10556:31:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Member_$2556_storage",
                      "typeString": "struct Members.Member storage ref"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "10524:63:10"
                },
                {
                  "assignments": [
                    3366
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 3366,
                      "name": "memberToRemoveAddress",
                      "nodeType": "VariableDeclaration",
                      "scope": 3451,
                      "src": "10598:29:10",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      },
                      "typeName": {
                        "id": 3365,
                        "name": "address",
                        "nodeType": "ElementaryTypeName",
                        "src": "10598:7:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 3369,
                  "initialValue": {
                    "argumentTypes": null,
                    "expression": {
                      "argumentTypes": null,
                      "id": 3367,
                      "name": "memberToRemove",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 3360,
                      "src": "10630:14:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Member_$2556_storage_ptr",
                        "typeString": "struct Members.Member storage pointer"
                      }
                    },
                    "id": 3368,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberName": "account",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": 2553,
                    "src": "10630:22:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "10598:54:10"
                },
                {
                  "condition": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 3371,
                        "name": "memberToRemove",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3360,
                        "src": "10677:14:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Member_$2556_storage_ptr",
                          "typeString": "struct Members.Member storage pointer"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_struct$_Member_$2556_storage_ptr",
                          "typeString": "struct Members.Member storage pointer"
                        }
                      ],
                      "id": 3370,
                      "name": "isAdmin",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 3638,
                      "src": "10669:7:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_struct$_Member_$2556_memory_ptr_$returns$_t_bool_$",
                        "typeString": "function (struct Members.Member memory) view returns (bool)"
                      }
                    },
                    "id": 3372,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "10669:23:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": null,
                  "id": 3389,
                  "nodeType": "IfStatement",
                  "src": "10665:188:10",
                  "trueBody": {
                    "id": 3388,
                    "nodeType": "Block",
                    "src": "10694:159:10",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "commonType": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              "id": 3376,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftExpression": {
                                "argumentTypes": null,
                                "id": 3374,
                                "name": "adminCount",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 2587,
                                "src": "10716:10:10",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "nodeType": "BinaryOperation",
                              "operator": ">",
                              "rightExpression": {
                                "argumentTypes": null,
                                "hexValue": "30",
                                "id": 3375,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "number",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "10729:1:10",
                                "subdenomination": null,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_rational_0_by_1",
                                  "typeString": "int_const 0"
                                },
                                "value": "0"
                              },
                              "src": "10716:14:10",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            ],
                            "id": 3373,
                            "name": "assert",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4085,
                            "src": "10709:6:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_assert_pure$_t_bool_$returns$__$",
                              "typeString": "function (bool) pure"
                            }
                          },
                          "id": 3377,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "10709:22:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 3378,
                        "nodeType": "ExpressionStatement",
                        "src": "10709:22:10"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 3380,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "UnaryOperation",
                          "operator": "--",
                          "prefix": false,
                          "src": "10746:12:10",
                          "subExpression": {
                            "argumentTypes": null,
                            "id": 3379,
                            "name": "adminCount",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2587,
                            "src": "10746:10:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 3381,
                        "nodeType": "ExpressionStatement",
                        "src": "10746:12:10"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "arguments": [],
                              "expression": {
                                "argumentTypes": [],
                                "id": 3383,
                                "name": "existAdmins",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 3592,
                                "src": "10781:11:10",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$",
                                  "typeString": "function () view returns (bool)"
                                }
                              },
                              "id": 3384,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "10781:13:10",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "hexValue": "436f6e736f727469756d2073686f756c642068617665206174206c65617374206f6e652061646d696e2e",
                              "id": 3385,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "string",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "10796:44:10",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_stringliteral_ef68e62a3ddadf21cd47fb77c2e5c627ed835774918a93f288717432c85891c6",
                                "typeString": "literal_string \"Consortium should have at least one admin.\""
                              },
                              "value": "Consortium should have at least one admin."
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              },
                              {
                                "typeIdentifier": "t_stringliteral_ef68e62a3ddadf21cd47fb77c2e5c627ed835774918a93f288717432c85891c6",
                                "typeString": "literal_string \"Consortium should have at least one admin.\""
                              }
                            ],
                            "id": 3382,
                            "name": "require",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [
                              4099,
                              4100
                            ],
                            "referencedDeclaration": 4100,
                            "src": "10773:7:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                              "typeString": "function (bool,string memory) pure"
                            }
                          },
                          "id": 3386,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "10773:68:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 3387,
                        "nodeType": "ExpressionStatement",
                        "src": "10773:68:10"
                      }
                    ]
                  }
                },
                {
                  "assignments": [
                    3391
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 3391,
                      "name": "memberToBeMoved",
                      "nodeType": "VariableDeclaration",
                      "scope": 3451,
                      "src": "10865:30:10",
                      "stateVariable": false,
                      "storageLocation": "storage",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Member_$2556_storage_ptr",
                        "typeString": "struct Members.Member"
                      },
                      "typeName": {
                        "contractScope": null,
                        "id": 3390,
                        "name": "Member",
                        "nodeType": "UserDefinedTypeName",
                        "referencedDeclaration": 2556,
                        "src": "10865:6:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Member_$2556_storage_ptr",
                          "typeString": "struct Members.Member"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 3398,
                  "initialValue": {
                    "argumentTypes": null,
                    "baseExpression": {
                      "argumentTypes": null,
                      "id": 3392,
                      "name": "memberList",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 2585,
                      "src": "10898:10:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_struct$_Member_$2556_storage_$dyn_storage",
                        "typeString": "struct Members.Member storage ref[] storage ref"
                      }
                    },
                    "id": 3397,
                    "indexExpression": {
                      "argumentTypes": null,
                      "commonType": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "id": 3396,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 3393,
                          "name": "memberList",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 2585,
                          "src": "10909:10:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_struct$_Member_$2556_storage_$dyn_storage",
                            "typeString": "struct Members.Member storage ref[] storage ref"
                          }
                        },
                        "id": 3394,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "length",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": null,
                        "src": "10909:17:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "-",
                      "rightExpression": {
                        "argumentTypes": null,
                        "hexValue": "31",
                        "id": 3395,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "10929:1:10",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_1_by_1",
                          "typeString": "int_const 1"
                        },
                        "value": "1"
                      },
                      "src": "10909:21:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "IndexAccess",
                    "src": "10898:33:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Member_$2556_storage",
                      "typeString": "struct Members.Member storage ref"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "10865:66:10"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 3403,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 3399,
                        "name": "memberList",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2585,
                        "src": "10942:10:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_Member_$2556_storage_$dyn_storage",
                          "typeString": "struct Members.Member storage ref[] storage ref"
                        }
                      },
                      "id": 3401,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 3400,
                        "name": "memberIndexBaseZero",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3352,
                        "src": "10953:19:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "IndexAccess",
                      "src": "10942:31:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Member_$2556_storage",
                        "typeString": "struct Members.Member storage ref"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 3402,
                      "name": "memberToBeMoved",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 3391,
                      "src": "10976:15:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Member_$2556_storage_ptr",
                        "typeString": "struct Members.Member storage pointer"
                      }
                    },
                    "src": "10942:49:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Member_$2556_storage",
                      "typeString": "struct Members.Member storage ref"
                    }
                  },
                  "id": 3404,
                  "nodeType": "ExpressionStatement",
                  "src": "10942:49:10"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 3412,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 3405,
                        "name": "memberIndexByName",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2578,
                        "src": "11002:17:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_string_memory_$_t_uint256_$",
                          "typeString": "mapping(string memory => uint256)"
                        }
                      },
                      "id": 3408,
                      "indexExpression": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 3406,
                          "name": "memberToBeMoved",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3391,
                          "src": "11020:15:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Member_$2556_storage_ptr",
                            "typeString": "struct Members.Member storage pointer"
                          }
                        },
                        "id": 3407,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "name",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 2545,
                        "src": "11020:20:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_storage",
                          "typeString": "string storage ref"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "IndexAccess",
                      "src": "11002:39:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "commonType": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "id": 3411,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "argumentTypes": null,
                        "id": 3409,
                        "name": "memberIndexBaseZero",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3352,
                        "src": "11044:19:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "+",
                      "rightExpression": {
                        "argumentTypes": null,
                        "hexValue": "31",
                        "id": 3410,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "11066:1:10",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_1_by_1",
                          "typeString": "int_const 1"
                        },
                        "value": "1"
                      },
                      "src": "11044:23:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "11002:65:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 3413,
                  "nodeType": "ExpressionStatement",
                  "src": "11002:65:10"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 3421,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 3414,
                        "name": "memberIndexByAddress",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2582,
                        "src": "11078:20:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                          "typeString": "mapping(address => uint256)"
                        }
                      },
                      "id": 3417,
                      "indexExpression": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 3415,
                          "name": "memberToBeMoved",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3391,
                          "src": "11099:15:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Member_$2556_storage_ptr",
                            "typeString": "struct Members.Member storage pointer"
                          }
                        },
                        "id": 3416,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "account",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 2553,
                        "src": "11099:23:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "IndexAccess",
                      "src": "11078:45:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "commonType": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "id": 3420,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "argumentTypes": null,
                        "id": 3418,
                        "name": "memberIndexBaseZero",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3352,
                        "src": "11126:19:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "+",
                      "rightExpression": {
                        "argumentTypes": null,
                        "hexValue": "31",
                        "id": 3419,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "11148:1:10",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_1_by_1",
                          "typeString": "int_const 1"
                        },
                        "value": "1"
                      },
                      "src": "11126:23:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "11078:71:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 3422,
                  "nodeType": "ExpressionStatement",
                  "src": "11078:71:10"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 3426,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "UnaryOperation",
                    "operator": "delete",
                    "prefix": true,
                    "src": "11162:50:10",
                    "subExpression": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 3423,
                        "name": "memberIndexByAddress",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2582,
                        "src": "11169:20:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                          "typeString": "mapping(address => uint256)"
                        }
                      },
                      "id": 3425,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 3424,
                        "name": "memberToRemoveAddress",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3366,
                        "src": "11190:21:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "IndexAccess",
                      "src": "11169:43:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 3427,
                  "nodeType": "ExpressionStatement",
                  "src": "11162:50:10"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 3431,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "UnaryOperation",
                    "operator": "delete",
                    "prefix": true,
                    "src": "11223:31:10",
                    "subExpression": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 3428,
                        "name": "memberIndexByName",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2578,
                        "src": "11230:17:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_string_memory_$_t_uint256_$",
                          "typeString": "mapping(string memory => uint256)"
                        }
                      },
                      "id": 3430,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 3429,
                        "name": "_name",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3345,
                        "src": "11248:5:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "IndexAccess",
                      "src": "11230:24:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 3432,
                  "nodeType": "ExpressionStatement",
                  "src": "11223:31:10"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 3439,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "UnaryOperation",
                    "operator": "delete",
                    "prefix": true,
                    "src": "11265:40:10",
                    "subExpression": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 3433,
                        "name": "memberList",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2585,
                        "src": "11272:10:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_Member_$2556_storage_$dyn_storage",
                          "typeString": "struct Members.Member storage ref[] storage ref"
                        }
                      },
                      "id": 3438,
                      "indexExpression": {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 3437,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 3434,
                            "name": "memberList",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2585,
                            "src": "11283:10:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_struct$_Member_$2556_storage_$dyn_storage",
                              "typeString": "struct Members.Member storage ref[] storage ref"
                            }
                          },
                          "id": 3435,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "length",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "11283:17:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "-",
                        "rightExpression": {
                          "argumentTypes": null,
                          "hexValue": "31",
                          "id": 3436,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "11303:1:10",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_1_by_1",
                            "typeString": "int_const 1"
                          },
                          "value": "1"
                        },
                        "src": "11283:21:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "IndexAccess",
                      "src": "11272:33:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Member_$2556_storage",
                        "typeString": "struct Members.Member storage ref"
                      }
                    },
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 3440,
                  "nodeType": "ExpressionStatement",
                  "src": "11265:40:10"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 3444,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "UnaryOperation",
                    "operator": "--",
                    "prefix": false,
                    "src": "11316:19:10",
                    "subExpression": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "id": 3441,
                        "name": "memberList",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2585,
                        "src": "11316:10:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_Member_$2556_storage_$dyn_storage",
                          "typeString": "struct Members.Member storage ref[] storage ref"
                        }
                      },
                      "id": 3443,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "length",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "11316:17:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 3445,
                  "nodeType": "ExpressionStatement",
                  "src": "11316:19:10"
                },
                {
                  "eventCall": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 3447,
                        "name": "_name",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3345,
                        "src": "11369:5:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      ],
                      "id": 3446,
                      "name": "MemberLeftEvent",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 2574,
                      "src": "11353:15:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (string memory)"
                      }
                    },
                    "id": 3448,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "11353:22:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 3449,
                  "nodeType": "EmitStatement",
                  "src": "11348:27:10"
                }
              ]
            },
            "documentation": null,
            "id": 3451,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "id": 3348,
                    "name": "_name",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 3345,
                    "src": "10440:5:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory_ptr",
                      "typeString": "string memory"
                    }
                  }
                ],
                "id": 3349,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 3347,
                  "name": "isMemberExisted",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 2648,
                  "src": "10424:15:10",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$_t_string_memory_ptr_$",
                    "typeString": "modifier (string memory)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "10424:22:10"
              }
            ],
            "name": "_removeMember",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3346,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3345,
                  "name": "_name",
                  "nodeType": "VariableDeclaration",
                  "scope": 3451,
                  "src": "10395:19:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 3344,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "10395:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "10394:21:10"
            },
            "payable": false,
            "returnParameters": {
              "id": 3350,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "10447:0:10"
            },
            "scope": 3928,
            "src": "10372:1011:10",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "private"
          },
          {
            "body": {
              "id": 3513,
              "nodeType": "Block",
              "src": "11488:521:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 3465,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "UnaryOperation",
                        "operator": "!",
                        "prefix": true,
                        "src": "11507:30:10",
                        "subExpression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 3463,
                              "name": "_account",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 3455,
                              "src": "11528:8:10",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            ],
                            "id": 3462,
                            "name": "existsMemberAddress",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 3620,
                            "src": "11508:19:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$",
                              "typeString": "function (address) view returns (bool)"
                            }
                          },
                          "id": 3464,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "11508:29:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "41206d656d62657220776974682073756368206164647265737320616c7265616479206578697374732e",
                        "id": 3466,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "11539:44:10",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_94eb262ddce4b68508e5aabfb3d13085c42fe55646aa06116a382f5cadaabfab",
                          "typeString": "literal_string \"A member with such address already exists.\""
                        },
                        "value": "A member with such address already exists."
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_94eb262ddce4b68508e5aabfb3d13085c42fe55646aa06116a382f5cadaabfab",
                          "typeString": "literal_string \"A member with such address already exists.\""
                        }
                      ],
                      "id": 3461,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        4099,
                        4100
                      ],
                      "referencedDeclaration": 4100,
                      "src": "11499:7:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 3467,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "11499:85:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 3468,
                  "nodeType": "ExpressionStatement",
                  "src": "11499:85:10"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        "id": 3474,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "id": 3470,
                          "name": "_account",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3455,
                          "src": "11603:8:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "!=",
                        "rightExpression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "hexValue": "30",
                              "id": 3472,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "11623:1:10",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_0_by_1",
                                "typeString": "int_const 0"
                              },
                              "value": "0"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_rational_0_by_1",
                                "typeString": "int_const 0"
                              }
                            ],
                            "id": 3471,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "ElementaryTypeNameExpression",
                            "src": "11615:7:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_address_$",
                              "typeString": "type(address)"
                            },
                            "typeName": "address"
                          },
                          "id": 3473,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "typeConversion",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "11615:10:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "src": "11603:22:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "41737369676e696e672061207a65726f2061646472657373206973206e6f7420616c6c6f7765642e",
                        "id": 3475,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "11627:42:10",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_07ba0c61f1ef62f1c4cd7591ad010a0bcd068667ea341e651f4c815c5aeaf250",
                          "typeString": "literal_string \"Assigning a zero address is not allowed.\""
                        },
                        "value": "Assigning a zero address is not allowed."
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_07ba0c61f1ef62f1c4cd7591ad010a0bcd068667ea341e651f4c815c5aeaf250",
                          "typeString": "literal_string \"Assigning a zero address is not allowed.\""
                        }
                      ],
                      "id": 3469,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        4099,
                        4100
                      ],
                      "referencedDeclaration": 4100,
                      "src": "11595:7:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 3476,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "11595:75:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 3477,
                  "nodeType": "ExpressionStatement",
                  "src": "11595:75:10"
                },
                {
                  "assignments": [
                    3479
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 3479,
                      "name": "memberIndexBaseZero",
                      "nodeType": "VariableDeclaration",
                      "scope": 3514,
                      "src": "11683:24:10",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 3478,
                        "name": "uint",
                        "nodeType": "ElementaryTypeName",
                        "src": "11683:4:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 3485,
                  "initialValue": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 3484,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 3480,
                        "name": "memberIndexByName",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2578,
                        "src": "11710:17:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_string_memory_$_t_uint256_$",
                          "typeString": "mapping(string memory => uint256)"
                        }
                      },
                      "id": 3482,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 3481,
                        "name": "_name",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3453,
                        "src": "11728:5:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "IndexAccess",
                      "src": "11710:24:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "-",
                    "rightExpression": {
                      "argumentTypes": null,
                      "hexValue": "31",
                      "id": 3483,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "11737:1:10",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_1_by_1",
                        "typeString": "int_const 1"
                      },
                      "value": "1"
                    },
                    "src": "11710:28:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "11683:55:10"
                },
                {
                  "assignments": [
                    3487
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 3487,
                      "name": "originalAccount",
                      "nodeType": "VariableDeclaration",
                      "scope": 3514,
                      "src": "11751:23:10",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      },
                      "typeName": {
                        "id": 3486,
                        "name": "address",
                        "nodeType": "ElementaryTypeName",
                        "src": "11751:7:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 3492,
                  "initialValue": {
                    "argumentTypes": null,
                    "expression": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 3488,
                        "name": "memberList",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2585,
                        "src": "11777:10:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_Member_$2556_storage_$dyn_storage",
                          "typeString": "struct Members.Member storage ref[] storage ref"
                        }
                      },
                      "id": 3490,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 3489,
                        "name": "memberIndexBaseZero",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3479,
                        "src": "11788:19:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "IndexAccess",
                      "src": "11777:31:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Member_$2556_storage",
                        "typeString": "struct Members.Member storage ref"
                      }
                    },
                    "id": 3491,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberName": "account",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": 2553,
                    "src": "11777:39:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "11751:65:10"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 3496,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "UnaryOperation",
                    "operator": "delete",
                    "prefix": true,
                    "src": "11827:44:10",
                    "subExpression": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 3493,
                        "name": "memberIndexByAddress",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2582,
                        "src": "11834:20:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                          "typeString": "mapping(address => uint256)"
                        }
                      },
                      "id": 3495,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 3494,
                        "name": "originalAccount",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3487,
                        "src": "11855:15:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "IndexAccess",
                      "src": "11834:37:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 3497,
                  "nodeType": "ExpressionStatement",
                  "src": "11827:44:10"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 3503,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 3498,
                          "name": "memberList",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 2585,
                          "src": "11884:10:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_struct$_Member_$2556_storage_$dyn_storage",
                            "typeString": "struct Members.Member storage ref[] storage ref"
                          }
                        },
                        "id": 3500,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 3499,
                          "name": "memberIndexBaseZero",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3479,
                          "src": "11895:19:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "11884:31:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Member_$2556_storage",
                          "typeString": "struct Members.Member storage ref"
                        }
                      },
                      "id": 3501,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "account",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 2553,
                      "src": "11884:39:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 3502,
                      "name": "_account",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 3455,
                      "src": "11926:8:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "src": "11884:50:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "id": 3504,
                  "nodeType": "ExpressionStatement",
                  "src": "11884:50:10"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 3511,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 3505,
                        "name": "memberIndexByAddress",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2582,
                        "src": "11945:20:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                          "typeString": "mapping(address => uint256)"
                        }
                      },
                      "id": 3507,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 3506,
                        "name": "_account",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3455,
                        "src": "11966:8:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "IndexAccess",
                      "src": "11945:30:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "commonType": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "id": 3510,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "argumentTypes": null,
                        "id": 3508,
                        "name": "memberIndexBaseZero",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3479,
                        "src": "11978:19:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "+",
                      "rightExpression": {
                        "argumentTypes": null,
                        "hexValue": "31",
                        "id": 3509,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "12000:1:10",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_1_by_1",
                          "typeString": "int_const 1"
                        },
                        "value": "1"
                      },
                      "src": "11978:23:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "11945:56:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 3512,
                  "nodeType": "ExpressionStatement",
                  "src": "11945:56:10"
                }
              ]
            },
            "documentation": null,
            "id": 3514,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "id": 3458,
                    "name": "_name",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 3453,
                    "src": "11481:5:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory_ptr",
                      "typeString": "string memory"
                    }
                  }
                ],
                "id": 3459,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 3457,
                  "name": "isMemberExisted",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 2648,
                  "src": "11465:15:10",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$_t_string_memory_ptr_$",
                    "typeString": "modifier (string memory)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "11465:22:10"
              }
            ],
            "name": "_setMemberAccount",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3456,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3453,
                  "name": "_name",
                  "nodeType": "VariableDeclaration",
                  "scope": 3514,
                  "src": "11418:19:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 3452,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "11418:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3455,
                  "name": "_account",
                  "nodeType": "VariableDeclaration",
                  "scope": 3514,
                  "src": "11439:16:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 3454,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "11439:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "11417:39:10"
            },
            "payable": false,
            "returnParameters": {
              "id": 3460,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "11488:0:10"
            },
            "scope": 3928,
            "src": "11391:618:10",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "private"
          },
          {
            "body": {
              "id": 3581,
              "nodeType": "Block",
              "src": "12114:554:10",
              "statements": [
                {
                  "assignments": [
                    3525
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 3525,
                      "name": "memberIndexBaseZero",
                      "nodeType": "VariableDeclaration",
                      "scope": 3582,
                      "src": "12125:24:10",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 3524,
                        "name": "uint",
                        "nodeType": "ElementaryTypeName",
                        "src": "12125:4:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 3531,
                  "initialValue": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 3530,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 3526,
                        "name": "memberIndexByName",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2578,
                        "src": "12152:17:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_string_memory_$_t_uint256_$",
                          "typeString": "mapping(string memory => uint256)"
                        }
                      },
                      "id": 3528,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 3527,
                        "name": "_name",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3516,
                        "src": "12170:5:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "IndexAccess",
                      "src": "12152:24:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "-",
                    "rightExpression": {
                      "argumentTypes": null,
                      "hexValue": "31",
                      "id": 3529,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "12179:1:10",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_1_by_1",
                        "typeString": "int_const 1"
                      },
                      "value": "1"
                    },
                    "src": "12152:28:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "12125:55:10"
                },
                {
                  "condition": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "id": 3533,
                            "name": "memberList",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2585,
                            "src": "12211:10:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_struct$_Member_$2556_storage_$dyn_storage",
                              "typeString": "struct Members.Member storage ref[] storage ref"
                            }
                          },
                          "id": 3535,
                          "indexExpression": {
                            "argumentTypes": null,
                            "id": 3534,
                            "name": "memberIndexBaseZero",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 3525,
                            "src": "12222:19:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "12211:31:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Member_$2556_storage",
                            "typeString": "struct Members.Member storage ref"
                          }
                        },
                        "id": 3536,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "role",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 2551,
                        "src": "12211:36:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_storage",
                          "typeString": "string storage ref"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 3537,
                        "name": "_role",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3518,
                        "src": "12249:5:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_string_storage",
                          "typeString": "string storage ref"
                        },
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      ],
                      "id": 3532,
                      "name": "areStringsEqual",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 3927,
                      "src": "12195:15:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$",
                        "typeString": "function (string memory,string memory) pure returns (bool)"
                      }
                    },
                    "id": 3538,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "12195:60:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": null,
                  "id": 3541,
                  "nodeType": "IfStatement",
                  "src": "12191:99:10",
                  "trueBody": {
                    "id": 3540,
                    "nodeType": "Block",
                    "src": "12257:33:10",
                    "statements": [
                      {
                        "expression": null,
                        "functionReturnParameters": 3523,
                        "id": 3539,
                        "nodeType": "Return",
                        "src": "12272:7:10"
                      }
                    ]
                  }
                },
                {
                  "condition": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 3543,
                          "name": "memberList",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 2585,
                          "src": "12314:10:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_struct$_Member_$2556_storage_$dyn_storage",
                            "typeString": "struct Members.Member storage ref[] storage ref"
                          }
                        },
                        "id": 3545,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 3544,
                          "name": "memberIndexBaseZero",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3525,
                          "src": "12325:19:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "12314:31:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Member_$2556_storage",
                          "typeString": "struct Members.Member storage ref"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_struct$_Member_$2556_storage",
                          "typeString": "struct Members.Member storage ref"
                        }
                      ],
                      "id": 3542,
                      "name": "isAdmin",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 3638,
                      "src": "12306:7:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_struct$_Member_$2556_memory_ptr_$returns$_t_bool_$",
                        "typeString": "function (struct Members.Member memory) view returns (bool)"
                      }
                    },
                    "id": 3546,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "12306:40:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": null,
                  "id": 3563,
                  "nodeType": "IfStatement",
                  "src": "12302:205:10",
                  "trueBody": {
                    "id": 3562,
                    "nodeType": "Block",
                    "src": "12348:159:10",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "commonType": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              "id": 3550,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftExpression": {
                                "argumentTypes": null,
                                "id": 3548,
                                "name": "adminCount",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 2587,
                                "src": "12370:10:10",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "nodeType": "BinaryOperation",
                              "operator": ">",
                              "rightExpression": {
                                "argumentTypes": null,
                                "hexValue": "30",
                                "id": 3549,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "number",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "12383:1:10",
                                "subdenomination": null,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_rational_0_by_1",
                                  "typeString": "int_const 0"
                                },
                                "value": "0"
                              },
                              "src": "12370:14:10",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            ],
                            "id": 3547,
                            "name": "assert",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4085,
                            "src": "12363:6:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_assert_pure$_t_bool_$returns$__$",
                              "typeString": "function (bool) pure"
                            }
                          },
                          "id": 3551,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "12363:22:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 3552,
                        "nodeType": "ExpressionStatement",
                        "src": "12363:22:10"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 3554,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "UnaryOperation",
                          "operator": "--",
                          "prefix": false,
                          "src": "12400:12:10",
                          "subExpression": {
                            "argumentTypes": null,
                            "id": 3553,
                            "name": "adminCount",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2587,
                            "src": "12400:10:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 3555,
                        "nodeType": "ExpressionStatement",
                        "src": "12400:12:10"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "arguments": [],
                              "expression": {
                                "argumentTypes": [],
                                "id": 3557,
                                "name": "existAdmins",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 3592,
                                "src": "12435:11:10",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$",
                                  "typeString": "function () view returns (bool)"
                                }
                              },
                              "id": 3558,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "12435:13:10",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "hexValue": "436f6e736f727469756d2073686f756c642068617665206174206c65617374206f6e652061646d696e2e",
                              "id": 3559,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "string",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "12450:44:10",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_stringliteral_ef68e62a3ddadf21cd47fb77c2e5c627ed835774918a93f288717432c85891c6",
                                "typeString": "literal_string \"Consortium should have at least one admin.\""
                              },
                              "value": "Consortium should have at least one admin."
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              },
                              {
                                "typeIdentifier": "t_stringliteral_ef68e62a3ddadf21cd47fb77c2e5c627ed835774918a93f288717432c85891c6",
                                "typeString": "literal_string \"Consortium should have at least one admin.\""
                              }
                            ],
                            "id": 3556,
                            "name": "require",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [
                              4099,
                              4100
                            ],
                            "referencedDeclaration": 4100,
                            "src": "12427:7:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                              "typeString": "function (bool,string memory) pure"
                            }
                          },
                          "id": 3560,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "12427:68:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 3561,
                        "nodeType": "ExpressionStatement",
                        "src": "12427:68:10"
                      }
                    ]
                  }
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 3569,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 3564,
                          "name": "memberList",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 2585,
                          "src": "12519:10:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_struct$_Member_$2556_storage_$dyn_storage",
                            "typeString": "struct Members.Member storage ref[] storage ref"
                          }
                        },
                        "id": 3566,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 3565,
                          "name": "memberIndexBaseZero",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3525,
                          "src": "12530:19:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "12519:31:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Member_$2556_storage",
                          "typeString": "struct Members.Member storage ref"
                        }
                      },
                      "id": 3567,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "role",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 2551,
                      "src": "12519:36:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_storage",
                        "typeString": "string storage ref"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 3568,
                      "name": "_role",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 3518,
                      "src": "12558:5:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_memory_ptr",
                        "typeString": "string memory"
                      }
                    },
                    "src": "12519:44:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage",
                      "typeString": "string storage ref"
                    }
                  },
                  "id": 3570,
                  "nodeType": "ExpressionStatement",
                  "src": "12519:44:10"
                },
                {
                  "condition": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 3572,
                          "name": "memberList",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 2585,
                          "src": "12588:10:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_struct$_Member_$2556_storage_$dyn_storage",
                            "typeString": "struct Members.Member storage ref[] storage ref"
                          }
                        },
                        "id": 3574,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 3573,
                          "name": "memberIndexBaseZero",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3525,
                          "src": "12599:19:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "12588:31:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Member_$2556_storage",
                          "typeString": "struct Members.Member storage ref"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_struct$_Member_$2556_storage",
                          "typeString": "struct Members.Member storage ref"
                        }
                      ],
                      "id": 3571,
                      "name": "isAdmin",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 3638,
                      "src": "12580:7:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_view$_t_struct$_Member_$2556_memory_ptr_$returns$_t_bool_$",
                        "typeString": "function (struct Members.Member memory) view returns (bool)"
                      }
                    },
                    "id": 3575,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "12580:40:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": null,
                  "id": 3580,
                  "nodeType": "IfStatement",
                  "src": "12576:85:10",
                  "trueBody": {
                    "id": 3579,
                    "nodeType": "Block",
                    "src": "12622:39:10",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 3577,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "UnaryOperation",
                          "operator": "++",
                          "prefix": false,
                          "src": "12637:12:10",
                          "subExpression": {
                            "argumentTypes": null,
                            "id": 3576,
                            "name": "adminCount",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2587,
                            "src": "12637:10:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 3578,
                        "nodeType": "ExpressionStatement",
                        "src": "12637:12:10"
                      }
                    ]
                  }
                }
              ]
            },
            "documentation": null,
            "id": 3582,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "id": 3521,
                    "name": "_name",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 3516,
                    "src": "12107:5:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory_ptr",
                      "typeString": "string memory"
                    }
                  }
                ],
                "id": 3522,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 3520,
                  "name": "isMemberExisted",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 2648,
                  "src": "12091:15:10",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$_t_string_memory_ptr_$",
                    "typeString": "modifier (string memory)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "12091:22:10"
              }
            ],
            "name": "_setMemberRole",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3519,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3516,
                  "name": "_name",
                  "nodeType": "VariableDeclaration",
                  "scope": 3582,
                  "src": "12041:19:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 3515,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "12041:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3518,
                  "name": "_role",
                  "nodeType": "VariableDeclaration",
                  "scope": 3582,
                  "src": "12062:19:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 3517,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "12062:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "12040:42:10"
            },
            "payable": false,
            "returnParameters": {
              "id": 3523,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "12114:0:10"
            },
            "scope": 3928,
            "src": "12017:651:10",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "private"
          },
          {
            "body": {
              "id": 3591,
              "nodeType": "Block",
              "src": "12727:40:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 3589,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 3587,
                      "name": "adminCount",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 2587,
                      "src": "12745:10:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": ">",
                    "rightExpression": {
                      "argumentTypes": null,
                      "hexValue": "30",
                      "id": 3588,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "12758:1:10",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "src": "12745:14:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "functionReturnParameters": 3586,
                  "id": 3590,
                  "nodeType": "Return",
                  "src": "12738:21:10"
                }
              ]
            },
            "documentation": null,
            "id": 3592,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "existAdmins",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3583,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "12696:2:10"
            },
            "payable": false,
            "returnParameters": {
              "id": 3586,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3585,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 3592,
                  "src": "12721:4:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 3584,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "12721:4:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "12720:6:10"
            },
            "scope": 3928,
            "src": "12676:91:10",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "private"
          },
          {
            "body": {
              "id": 3605,
              "nodeType": "Block",
              "src": "12850:54:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 3603,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 3599,
                        "name": "memberIndexByName",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2578,
                        "src": "12868:17:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_string_memory_$_t_uint256_$",
                          "typeString": "mapping(string memory => uint256)"
                        }
                      },
                      "id": 3601,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 3600,
                        "name": "_name",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3594,
                        "src": "12886:5:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "IndexAccess",
                      "src": "12868:24:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": ">",
                    "rightExpression": {
                      "argumentTypes": null,
                      "hexValue": "30",
                      "id": 3602,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "12895:1:10",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "src": "12868:28:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "functionReturnParameters": 3598,
                  "id": 3604,
                  "nodeType": "Return",
                  "src": "12861:35:10"
                }
              ]
            },
            "documentation": null,
            "id": 3606,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "existsMemberName",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3595,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3594,
                  "name": "_name",
                  "nodeType": "VariableDeclaration",
                  "scope": 3606,
                  "src": "12801:19:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 3593,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "12801:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "12800:21:10"
            },
            "payable": false,
            "returnParameters": {
              "id": 3598,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3597,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 3606,
                  "src": "12844:4:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 3596,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "12844:4:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "12843:6:10"
            },
            "scope": 3928,
            "src": "12775:129:10",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "private"
          },
          {
            "body": {
              "id": 3619,
              "nodeType": "Block",
              "src": "12987:60:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 3617,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 3613,
                        "name": "memberIndexByAddress",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2582,
                        "src": "13005:20:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                          "typeString": "mapping(address => uint256)"
                        }
                      },
                      "id": 3615,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 3614,
                        "name": "_address",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3608,
                        "src": "13026:8:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "IndexAccess",
                      "src": "13005:30:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": ">",
                    "rightExpression": {
                      "argumentTypes": null,
                      "hexValue": "30",
                      "id": 3616,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "13038:1:10",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "src": "13005:34:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "functionReturnParameters": 3612,
                  "id": 3618,
                  "nodeType": "Return",
                  "src": "12998:41:10"
                }
              ]
            },
            "documentation": null,
            "id": 3620,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "existsMemberAddress",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3609,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3608,
                  "name": "_address",
                  "nodeType": "VariableDeclaration",
                  "scope": 3620,
                  "src": "12941:16:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 3607,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "12941:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "12940:18:10"
            },
            "payable": false,
            "returnParameters": {
              "id": 3612,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3611,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 3620,
                  "src": "12981:4:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 3610,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "12981:4:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "12980:6:10"
            },
            "scope": 3928,
            "src": "12912:135:10",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "private"
          },
          {
            "body": {
              "id": 3637,
              "nodeType": "Block",
              "src": "13116:85:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    },
                    "id": 3635,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 3628,
                            "name": "_member",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 3622,
                            "src": "13151:7:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Member_$2556_memory_ptr",
                              "typeString": "struct Members.Member memory"
                            }
                          },
                          "id": 3629,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "name",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 2545,
                          "src": "13151:12:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_string_memory",
                            "typeString": "string memory"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_string_memory",
                            "typeString": "string memory"
                          }
                        ],
                        "id": 3627,
                        "name": "existsMemberName",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3606,
                        "src": "13134:16:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$_t_bool_$",
                          "typeString": "function (string memory) view returns (bool)"
                        }
                      },
                      "id": 3630,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "13134:30:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "&&",
                    "rightExpression": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 3632,
                            "name": "_member",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 3622,
                            "src": "13180:7:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Member_$2556_memory_ptr",
                              "typeString": "struct Members.Member memory"
                            }
                          },
                          "id": 3633,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "role",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 2551,
                          "src": "13180:12:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_string_memory",
                            "typeString": "string memory"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_string_memory",
                            "typeString": "string memory"
                          }
                        ],
                        "id": 3631,
                        "name": "isAdminRole",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3903,
                        "src": "13168:11:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_bool_$",
                          "typeString": "function (string memory) pure returns (bool)"
                        }
                      },
                      "id": 3634,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "13168:25:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "src": "13134:59:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "functionReturnParameters": 3626,
                  "id": 3636,
                  "nodeType": "Return",
                  "src": "13127:66:10"
                }
              ]
            },
            "documentation": null,
            "id": 3638,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "isAdmin",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3623,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3622,
                  "name": "_member",
                  "nodeType": "VariableDeclaration",
                  "scope": 3638,
                  "src": "13072:14:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_Member_$2556_memory_ptr",
                    "typeString": "struct Members.Member"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 3621,
                    "name": "Member",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 2556,
                    "src": "13072:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Member_$2556_storage_ptr",
                      "typeString": "struct Members.Member"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "13071:16:10"
            },
            "payable": false,
            "returnParameters": {
              "id": 3626,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3625,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 3638,
                  "src": "13110:4:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 3624,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "13110:4:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "13109:6:10"
            },
            "scope": 3928,
            "src": "13055:146:10",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "private"
          },
          {
            "body": {
              "id": 3659,
              "nodeType": "Block",
              "src": "13279:114:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    },
                    "id": 3657,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "id": 3646,
                          "name": "_address",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3640,
                          "src": "13317:8:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        ],
                        "id": 3645,
                        "name": "existsMemberAddress",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3620,
                        "src": "13297:19:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$",
                          "typeString": "function (address) view returns (bool)"
                        }
                      },
                      "id": 3647,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "13297:29:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "&&",
                    "rightExpression": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "id": 3649,
                            "name": "memberList",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2585,
                            "src": "13338:10:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_struct$_Member_$2556_storage_$dyn_storage",
                              "typeString": "struct Members.Member storage ref[] storage ref"
                            }
                          },
                          "id": 3655,
                          "indexExpression": {
                            "argumentTypes": null,
                            "commonType": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            "id": 3654,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "leftExpression": {
                              "argumentTypes": null,
                              "baseExpression": {
                                "argumentTypes": null,
                                "id": 3650,
                                "name": "memberIndexByAddress",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 2582,
                                "src": "13349:20:10",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                                  "typeString": "mapping(address => uint256)"
                                }
                              },
                              "id": 3652,
                              "indexExpression": {
                                "argumentTypes": null,
                                "id": 3651,
                                "name": "_address",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 3640,
                                "src": "13370:8:10",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_address",
                                  "typeString": "address"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "13349:30:10",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "nodeType": "BinaryOperation",
                            "operator": "-",
                            "rightExpression": {
                              "argumentTypes": null,
                              "hexValue": "31",
                              "id": 3653,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "13382:1:10",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_1_by_1",
                                "typeString": "int_const 1"
                              },
                              "value": "1"
                            },
                            "src": "13349:34:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "13338:46:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Member_$2556_storage",
                            "typeString": "struct Members.Member storage ref"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_struct$_Member_$2556_storage",
                            "typeString": "struct Members.Member storage ref"
                          }
                        ],
                        "id": 3648,
                        "name": "isAdmin",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3638,
                        "src": "13330:7:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_view$_t_struct$_Member_$2556_memory_ptr_$returns$_t_bool_$",
                          "typeString": "function (struct Members.Member memory) view returns (bool)"
                        }
                      },
                      "id": 3656,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "13330:55:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "src": "13297:88:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "functionReturnParameters": 3644,
                  "id": 3658,
                  "nodeType": "Return",
                  "src": "13290:95:10"
                }
              ]
            },
            "documentation": null,
            "id": 3660,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "isAdminAddress",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3641,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3640,
                  "name": "_address",
                  "nodeType": "VariableDeclaration",
                  "scope": 3660,
                  "src": "13233:16:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 3639,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "13233:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "13232:18:10"
            },
            "payable": false,
            "returnParameters": {
              "id": 3644,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3643,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 3660,
                  "src": "13273:4:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 3642,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "13273:4:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "13272:6:10"
            },
            "scope": 3928,
            "src": "13209:184:10",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "private"
          },
          {
            "body": {
              "id": 3684,
              "nodeType": "Block",
              "src": "13495:113:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    },
                    "id": 3682,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "id": 3670,
                          "name": "_name",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3664,
                          "src": "13530:5:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_string_memory_ptr",
                            "typeString": "string memory"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_string_memory_ptr",
                            "typeString": "string memory"
                          }
                        ],
                        "id": 3669,
                        "name": "existsMemberName",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3606,
                        "src": "13513:16:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$_t_bool_$",
                          "typeString": "function (string memory) view returns (bool)"
                        }
                      },
                      "id": 3671,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "13513:23:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "&&",
                    "rightExpression": {
                      "argumentTypes": null,
                      "commonType": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      },
                      "id": 3681,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "argumentTypes": null,
                        "id": 3672,
                        "name": "_address",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3662,
                        "src": "13540:8:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "==",
                      "rightExpression": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "id": 3673,
                            "name": "memberList",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2585,
                            "src": "13552:10:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_struct$_Member_$2556_storage_$dyn_storage",
                              "typeString": "struct Members.Member storage ref[] storage ref"
                            }
                          },
                          "id": 3679,
                          "indexExpression": {
                            "argumentTypes": null,
                            "commonType": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            "id": 3678,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "leftExpression": {
                              "argumentTypes": null,
                              "baseExpression": {
                                "argumentTypes": null,
                                "id": 3674,
                                "name": "memberIndexByName",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 2578,
                                "src": "13563:17:10",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_mapping$_t_string_memory_$_t_uint256_$",
                                  "typeString": "mapping(string memory => uint256)"
                                }
                              },
                              "id": 3676,
                              "indexExpression": {
                                "argumentTypes": null,
                                "id": 3675,
                                "name": "_name",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 3664,
                                "src": "13581:5:10",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_string_memory_ptr",
                                  "typeString": "string memory"
                                }
                              },
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "IndexAccess",
                              "src": "13563:24:10",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "nodeType": "BinaryOperation",
                            "operator": "-",
                            "rightExpression": {
                              "argumentTypes": null,
                              "hexValue": "31",
                              "id": 3677,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "13590:1:10",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_1_by_1",
                                "typeString": "int_const 1"
                              },
                              "value": "1"
                            },
                            "src": "13563:28:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "13552:40:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Member_$2556_storage",
                            "typeString": "struct Members.Member storage ref"
                          }
                        },
                        "id": 3680,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "account",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 2553,
                        "src": "13552:48:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "src": "13540:60:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "src": "13513:87:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "functionReturnParameters": 3668,
                  "id": 3683,
                  "nodeType": "Return",
                  "src": "13506:94:10"
                }
              ]
            },
            "documentation": null,
            "id": 3685,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "isAddressOfMember",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3665,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3662,
                  "name": "_address",
                  "nodeType": "VariableDeclaration",
                  "scope": 3685,
                  "src": "13428:16:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 3661,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "13428:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3664,
                  "name": "_name",
                  "nodeType": "VariableDeclaration",
                  "scope": 3685,
                  "src": "13446:19:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 3663,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "13446:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "13427:39:10"
            },
            "payable": false,
            "returnParameters": {
              "id": 3668,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3667,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 3685,
                  "src": "13489:4:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 3666,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "13489:4:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "13488:6:10"
            },
            "scope": 3928,
            "src": "13401:207:10",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "private"
          },
          {
            "body": {
              "id": 3719,
              "nodeType": "Block",
              "src": "13728:300:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 3698,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "UnaryOperation",
                        "operator": "!",
                        "prefix": true,
                        "src": "13747:34:10",
                        "subExpression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 3696,
                              "name": "_subscriptionId",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 3687,
                              "src": "13765:15:10",
                              "typeDescriptions": {
                                "typeIdentifier": "t_string_memory_ptr",
                                "typeString": "string memory"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_string_memory_ptr",
                                "typeString": "string memory"
                              }
                            ],
                            "id": 3695,
                            "name": "existsInvitation",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 3815,
                            "src": "13748:16:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$_t_bool_$",
                              "typeString": "function (string memory) view returns (bool)"
                            }
                          },
                          "id": 3697,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "13748:33:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "41206d656d62657220696e7669746174696f6e2077697468207375636820737562736372697074696f6e20696420616c7265616479206578697374732e",
                        "id": 3699,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "13783:63:10",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_c96d74d4e74a0fe1b416ce176a11826cfdaae3d9b49737cb53f874bed95645ec",
                          "typeString": "literal_string \"A member invitation with such subscription id already exists.\""
                        },
                        "value": "A member invitation with such subscription id already exists."
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_c96d74d4e74a0fe1b416ce176a11826cfdaae3d9b49737cb53f874bed95645ec",
                          "typeString": "literal_string \"A member invitation with such subscription id already exists.\""
                        }
                      ],
                      "id": 3694,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        4099,
                        4100
                      ],
                      "referencedDeclaration": 4100,
                      "src": "13739:7:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 3700,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "13739:108:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 3701,
                  "nodeType": "ExpressionStatement",
                  "src": "13739:108:10"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 3706,
                            "name": "_subscriptionId",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 3687,
                            "src": "13897:15:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 3707,
                            "name": "_role",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 3689,
                            "src": "13914:5:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 3708,
                            "name": "_correlationId",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 3691,
                            "src": "13921:14:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            },
                            {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            },
                            {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          ],
                          "id": 3705,
                          "name": "MemberInvitation",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 2563,
                          "src": "13880:16:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_struct$_MemberInvitation_$2563_storage_ptr_$",
                            "typeString": "type(struct Members.MemberInvitation storage pointer)"
                          }
                        },
                        "id": 3709,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "structConstructorCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "13880:56:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_MemberInvitation_$2563_memory",
                          "typeString": "struct Members.MemberInvitation memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_struct$_MemberInvitation_$2563_memory",
                          "typeString": "struct Members.MemberInvitation memory"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 3702,
                        "name": "invitationList",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2596,
                        "src": "13860:14:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_MemberInvitation_$2563_storage_$dyn_storage",
                          "typeString": "struct Members.MemberInvitation storage ref[] storage ref"
                        }
                      },
                      "id": 3704,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "push",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "13860:19:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_arraypush_nonpayable$_t_struct$_MemberInvitation_$2563_storage_$returns$_t_uint256_$",
                        "typeString": "function (struct Members.MemberInvitation storage ref) returns (uint256)"
                      }
                    },
                    "id": 3710,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "13860:77:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 3711,
                  "nodeType": "ExpressionStatement",
                  "src": "13860:77:10"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 3717,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 3712,
                        "name": "invitationIndexBySubscriptionId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2593,
                        "src": "13948:31:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_string_memory_$_t_uint256_$",
                          "typeString": "mapping(string memory => uint256)"
                        }
                      },
                      "id": 3714,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 3713,
                        "name": "_subscriptionId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3687,
                        "src": "13980:15:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "IndexAccess",
                      "src": "13948:48:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "id": 3715,
                        "name": "invitationList",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2596,
                        "src": "13999:14:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_MemberInvitation_$2563_storage_$dyn_storage",
                          "typeString": "struct Members.MemberInvitation storage ref[] storage ref"
                        }
                      },
                      "id": 3716,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "length",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "13999:21:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "13948:72:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 3718,
                  "nodeType": "ExpressionStatement",
                  "src": "13948:72:10"
                }
              ]
            },
            "documentation": null,
            "id": 3720,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "_addInvitation",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3692,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3687,
                  "name": "_subscriptionId",
                  "nodeType": "VariableDeclaration",
                  "scope": 3720,
                  "src": "13642:29:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 3686,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "13642:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3689,
                  "name": "_role",
                  "nodeType": "VariableDeclaration",
                  "scope": 3720,
                  "src": "13673:19:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 3688,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "13673:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3691,
                  "name": "_correlationId",
                  "nodeType": "VariableDeclaration",
                  "scope": 3720,
                  "src": "13694:19:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 3690,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "13694:4:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "13641:73:10"
            },
            "payable": false,
            "returnParameters": {
              "id": 3693,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "13728:0:10"
            },
            "scope": 3928,
            "src": "13618:410:10",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "private"
          },
          {
            "body": {
              "id": 3778,
              "nodeType": "Block",
              "src": "14144:543:10",
              "statements": [
                {
                  "assignments": [
                    3729
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 3729,
                      "name": "invitationIndexBaseZero",
                      "nodeType": "VariableDeclaration",
                      "scope": 3779,
                      "src": "14155:28:10",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 3728,
                        "name": "uint",
                        "nodeType": "ElementaryTypeName",
                        "src": "14155:4:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 3735,
                  "initialValue": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 3734,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 3730,
                        "name": "invitationIndexBySubscriptionId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2593,
                        "src": "14186:31:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_string_memory_$_t_uint256_$",
                          "typeString": "mapping(string memory => uint256)"
                        }
                      },
                      "id": 3732,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 3731,
                        "name": "_subscriptionId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3722,
                        "src": "14218:15:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "IndexAccess",
                      "src": "14186:48:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "-",
                    "rightExpression": {
                      "argumentTypes": null,
                      "hexValue": "31",
                      "id": 3733,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "14237:1:10",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_1_by_1",
                        "typeString": "int_const 1"
                      },
                      "value": "1"
                    },
                    "src": "14186:52:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "14155:83:10"
                },
                {
                  "assignments": [
                    3737
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 3737,
                      "name": "invitationToMove",
                      "nodeType": "VariableDeclaration",
                      "scope": 3779,
                      "src": "14259:41:10",
                      "stateVariable": false,
                      "storageLocation": "storage",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_MemberInvitation_$2563_storage_ptr",
                        "typeString": "struct Members.MemberInvitation"
                      },
                      "typeName": {
                        "contractScope": null,
                        "id": 3736,
                        "name": "MemberInvitation",
                        "nodeType": "UserDefinedTypeName",
                        "referencedDeclaration": 2563,
                        "src": "14259:16:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_MemberInvitation_$2563_storage_ptr",
                          "typeString": "struct Members.MemberInvitation"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 3744,
                  "initialValue": {
                    "argumentTypes": null,
                    "baseExpression": {
                      "argumentTypes": null,
                      "id": 3738,
                      "name": "invitationList",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 2596,
                      "src": "14303:14:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_struct$_MemberInvitation_$2563_storage_$dyn_storage",
                        "typeString": "struct Members.MemberInvitation storage ref[] storage ref"
                      }
                    },
                    "id": 3743,
                    "indexExpression": {
                      "argumentTypes": null,
                      "commonType": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "id": 3742,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 3739,
                          "name": "invitationList",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 2596,
                          "src": "14318:14:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_struct$_MemberInvitation_$2563_storage_$dyn_storage",
                            "typeString": "struct Members.MemberInvitation storage ref[] storage ref"
                          }
                        },
                        "id": 3740,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "length",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": null,
                        "src": "14318:21:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "-",
                      "rightExpression": {
                        "argumentTypes": null,
                        "hexValue": "31",
                        "id": 3741,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "14342:1:10",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_1_by_1",
                          "typeString": "int_const 1"
                        },
                        "value": "1"
                      },
                      "src": "14318:25:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "IndexAccess",
                    "src": "14303:41:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_MemberInvitation_$2563_storage",
                      "typeString": "struct Members.MemberInvitation storage ref"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "14259:85:10"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 3749,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 3745,
                        "name": "invitationList",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2596,
                        "src": "14355:14:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_MemberInvitation_$2563_storage_$dyn_storage",
                          "typeString": "struct Members.MemberInvitation storage ref[] storage ref"
                        }
                      },
                      "id": 3747,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 3746,
                        "name": "invitationIndexBaseZero",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3729,
                        "src": "14370:23:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "IndexAccess",
                      "src": "14355:39:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_MemberInvitation_$2563_storage",
                        "typeString": "struct Members.MemberInvitation storage ref"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 3748,
                      "name": "invitationToMove",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 3737,
                      "src": "14397:16:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_MemberInvitation_$2563_storage_ptr",
                        "typeString": "struct Members.MemberInvitation storage pointer"
                      }
                    },
                    "src": "14355:58:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_MemberInvitation_$2563_storage",
                      "typeString": "struct Members.MemberInvitation storage ref"
                    }
                  },
                  "id": 3750,
                  "nodeType": "ExpressionStatement",
                  "src": "14355:58:10"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 3758,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 3751,
                        "name": "invitationIndexBySubscriptionId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2593,
                        "src": "14424:31:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_string_memory_$_t_uint256_$",
                          "typeString": "mapping(string memory => uint256)"
                        }
                      },
                      "id": 3754,
                      "indexExpression": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 3752,
                          "name": "invitationToMove",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 3737,
                          "src": "14456:16:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_MemberInvitation_$2563_storage_ptr",
                            "typeString": "struct Members.MemberInvitation storage pointer"
                          }
                        },
                        "id": 3753,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "subscriptionId",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 2558,
                        "src": "14456:31:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_storage",
                          "typeString": "string storage ref"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "IndexAccess",
                      "src": "14424:64:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "commonType": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "id": 3757,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "argumentTypes": null,
                        "id": 3755,
                        "name": "invitationIndexBaseZero",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3729,
                        "src": "14491:23:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "+",
                      "rightExpression": {
                        "argumentTypes": null,
                        "hexValue": "31",
                        "id": 3756,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "14517:1:10",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_1_by_1",
                          "typeString": "int_const 1"
                        },
                        "value": "1"
                      },
                      "src": "14491:27:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "14424:94:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 3759,
                  "nodeType": "ExpressionStatement",
                  "src": "14424:94:10"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 3763,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "UnaryOperation",
                    "operator": "delete",
                    "prefix": true,
                    "src": "14531:55:10",
                    "subExpression": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 3760,
                        "name": "invitationIndexBySubscriptionId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2593,
                        "src": "14538:31:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_string_memory_$_t_uint256_$",
                          "typeString": "mapping(string memory => uint256)"
                        }
                      },
                      "id": 3762,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 3761,
                        "name": "_subscriptionId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3722,
                        "src": "14570:15:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "IndexAccess",
                      "src": "14538:48:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 3764,
                  "nodeType": "ExpressionStatement",
                  "src": "14531:55:10"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 3771,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "UnaryOperation",
                    "operator": "delete",
                    "prefix": true,
                    "src": "14597:48:10",
                    "subExpression": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 3765,
                        "name": "invitationList",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2596,
                        "src": "14604:14:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_MemberInvitation_$2563_storage_$dyn_storage",
                          "typeString": "struct Members.MemberInvitation storage ref[] storage ref"
                        }
                      },
                      "id": 3770,
                      "indexExpression": {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 3769,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 3766,
                            "name": "invitationList",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 2596,
                            "src": "14619:14:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_struct$_MemberInvitation_$2563_storage_$dyn_storage",
                              "typeString": "struct Members.MemberInvitation storage ref[] storage ref"
                            }
                          },
                          "id": 3767,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "length",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "14619:21:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "-",
                        "rightExpression": {
                          "argumentTypes": null,
                          "hexValue": "31",
                          "id": 3768,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "14643:1:10",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_1_by_1",
                            "typeString": "int_const 1"
                          },
                          "value": "1"
                        },
                        "src": "14619:25:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "nodeType": "IndexAccess",
                      "src": "14604:41:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_MemberInvitation_$2563_storage",
                        "typeString": "struct Members.MemberInvitation storage ref"
                      }
                    },
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 3772,
                  "nodeType": "ExpressionStatement",
                  "src": "14597:48:10"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 3776,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "UnaryOperation",
                    "operator": "--",
                    "prefix": false,
                    "src": "14656:23:10",
                    "subExpression": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "id": 3773,
                        "name": "invitationList",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2596,
                        "src": "14656:14:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_MemberInvitation_$2563_storage_$dyn_storage",
                          "typeString": "struct Members.MemberInvitation storage ref[] storage ref"
                        }
                      },
                      "id": 3775,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "length",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "14656:21:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 3777,
                  "nodeType": "ExpressionStatement",
                  "src": "14656:23:10"
                }
              ]
            },
            "documentation": null,
            "id": 3779,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "id": 3725,
                    "name": "_subscriptionId",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 3722,
                    "src": "14122:15:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory_ptr",
                      "typeString": "string memory"
                    }
                  }
                ],
                "id": 3726,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 3724,
                  "name": "isInvitationExisted",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 2661,
                  "src": "14102:19:10",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$_t_string_memory_ptr_$",
                    "typeString": "modifier (string memory)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "14102:36:10"
              }
            ],
            "name": "_removeInvitation",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3723,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3722,
                  "name": "_subscriptionId",
                  "nodeType": "VariableDeclaration",
                  "scope": 3779,
                  "src": "14063:29:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 3721,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "14063:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "14062:31:10"
            },
            "payable": false,
            "returnParameters": {
              "id": 3727,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "14144:0:10"
            },
            "scope": 3928,
            "src": "14036:651:10",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "private"
          },
          {
            "body": {
              "id": 3800,
              "nodeType": "Block",
              "src": "14820:100:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 3798,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 3789,
                          "name": "invitationList",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 2596,
                          "src": "14831:14:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_struct$_MemberInvitation_$2563_storage_$dyn_storage",
                            "typeString": "struct Members.MemberInvitation storage ref[] storage ref"
                          }
                        },
                        "id": 3795,
                        "indexExpression": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 3794,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 3790,
                              "name": "invitationIndexBySubscriptionId",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 2593,
                              "src": "14846:31:10",
                              "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_string_memory_$_t_uint256_$",
                                "typeString": "mapping(string memory => uint256)"
                              }
                            },
                            "id": 3792,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 3791,
                              "name": "_subscriptionId",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 3781,
                              "src": "14878:15:10",
                              "typeDescriptions": {
                                "typeIdentifier": "t_string_memory_ptr",
                                "typeString": "string memory"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "14846:48:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "-",
                          "rightExpression": {
                            "argumentTypes": null,
                            "hexValue": "31",
                            "id": 3793,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "14897:1:10",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_1_by_1",
                              "typeString": "int_const 1"
                            },
                            "value": "1"
                          },
                          "src": "14846:52:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "14831:68:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_MemberInvitation_$2563_storage",
                          "typeString": "struct Members.MemberInvitation storage ref"
                        }
                      },
                      "id": 3796,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "role",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 2560,
                      "src": "14831:73:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_storage",
                        "typeString": "string storage ref"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 3797,
                      "name": "_role",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 3783,
                      "src": "14907:5:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_memory_ptr",
                        "typeString": "string memory"
                      }
                    },
                    "src": "14831:81:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage",
                      "typeString": "string storage ref"
                    }
                  },
                  "id": 3799,
                  "nodeType": "ExpressionStatement",
                  "src": "14831:81:10"
                }
              ]
            },
            "documentation": null,
            "id": 3801,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "id": 3786,
                    "name": "_subscriptionId",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 3781,
                    "src": "14803:15:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory_ptr",
                      "typeString": "string memory"
                    }
                  }
                ],
                "id": 3787,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 3785,
                  "name": "isInvitationExisted",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 2661,
                  "src": "14783:19:10",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$_t_string_memory_ptr_$",
                    "typeString": "modifier (string memory)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "14783:36:10"
              }
            ],
            "name": "_setInvitationRole",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3784,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3781,
                  "name": "_subscriptionId",
                  "nodeType": "VariableDeclaration",
                  "scope": 3801,
                  "src": "14723:29:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 3780,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "14723:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3783,
                  "name": "_role",
                  "nodeType": "VariableDeclaration",
                  "scope": 3801,
                  "src": "14754:19:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 3782,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "14754:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "14722:52:10"
            },
            "payable": false,
            "returnParameters": {
              "id": 3788,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "14820:0:10"
            },
            "scope": 3928,
            "src": "14695:225:10",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "private"
          },
          {
            "body": {
              "id": 3814,
              "nodeType": "Block",
              "src": "15013:78:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 3812,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 3808,
                        "name": "invitationIndexBySubscriptionId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2593,
                        "src": "15031:31:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_string_memory_$_t_uint256_$",
                          "typeString": "mapping(string memory => uint256)"
                        }
                      },
                      "id": 3810,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 3809,
                        "name": "_subscriptionId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3803,
                        "src": "15063:15:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "IndexAccess",
                      "src": "15031:48:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": ">",
                    "rightExpression": {
                      "argumentTypes": null,
                      "hexValue": "30",
                      "id": 3811,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "15082:1:10",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "src": "15031:52:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "functionReturnParameters": 3807,
                  "id": 3813,
                  "nodeType": "Return",
                  "src": "15024:59:10"
                }
              ]
            },
            "documentation": null,
            "id": 3815,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "existsInvitation",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3804,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3803,
                  "name": "_subscriptionId",
                  "nodeType": "VariableDeclaration",
                  "scope": 3815,
                  "src": "14954:29:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 3802,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "14954:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "14953:31:10"
            },
            "payable": false,
            "returnParameters": {
              "id": 3807,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3806,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 3815,
                  "src": "15007:4:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 3805,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "15007:4:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "15006:6:10"
            },
            "scope": 3928,
            "src": "14928:163:10",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "private"
          },
          {
            "body": {
              "id": 3828,
              "nodeType": "Block",
              "src": "15178:59:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    },
                    "id": 3826,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 3822,
                      "name": "_address",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 3817,
                      "src": "15196:8:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "==",
                    "rightExpression": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "id": 3824,
                          "name": "rootContract",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7,
                          "src": "15216:12:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_contract$_RootContract_$4081",
                            "typeString": "contract RootContract"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_contract$_RootContract_$4081",
                            "typeString": "contract RootContract"
                          }
                        ],
                        "id": 3823,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "nodeType": "ElementaryTypeNameExpression",
                        "src": "15208:7:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_address_$",
                          "typeString": "type(address)"
                        },
                        "typeName": "address"
                      },
                      "id": 3825,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "typeConversion",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "15208:21:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "src": "15196:33:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "functionReturnParameters": 3821,
                  "id": 3827,
                  "nodeType": "Return",
                  "src": "15189:40:10"
                }
              ]
            },
            "documentation": null,
            "id": 3829,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "isRootContractAddress",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3818,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3817,
                  "name": "_address",
                  "nodeType": "VariableDeclaration",
                  "scope": 3829,
                  "src": "15132:16:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 3816,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "15132:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "15131:18:10"
            },
            "payable": false,
            "returnParameters": {
              "id": 3821,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3820,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 3829,
                  "src": "15172:4:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 3819,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "15172:4:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "15171:6:10"
            },
            "scope": 3928,
            "src": "15101:136:10",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "private"
          },
          {
            "body": {
              "id": 3842,
              "nodeType": "Block",
              "src": "15318:61:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    },
                    "id": 3840,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 3836,
                      "name": "_address",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 3831,
                      "src": "15336:8:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "==",
                    "rightExpression": {
                      "argumentTypes": null,
                      "arguments": [],
                      "expression": {
                        "argumentTypes": [],
                        "expression": {
                          "argumentTypes": null,
                          "id": 3837,
                          "name": "rootContract",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7,
                          "src": "15348:12:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_contract$_RootContract_$4081",
                            "typeString": "contract RootContract"
                          }
                        },
                        "id": 3838,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "operator",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 3995,
                        "src": "15348:21:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_external_view$__$returns$_t_address_$",
                          "typeString": "function () view external returns (address)"
                        }
                      },
                      "id": 3839,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "15348:23:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "src": "15336:35:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "functionReturnParameters": 3835,
                  "id": 3841,
                  "nodeType": "Return",
                  "src": "15329:42:10"
                }
              ]
            },
            "documentation": null,
            "id": 3843,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "isOperatorAddress",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3832,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3831,
                  "name": "_address",
                  "nodeType": "VariableDeclaration",
                  "scope": 3843,
                  "src": "15272:16:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 3830,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "15272:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "15271:18:10"
            },
            "payable": false,
            "returnParameters": {
              "id": 3835,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3834,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 3843,
                  "src": "15312:4:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 3833,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "15312:4:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "15311:6:10"
            },
            "scope": 3928,
            "src": "15245:134:10",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "private"
          },
          {
            "body": {
              "id": 3889,
              "nodeType": "Block",
              "src": "15473:439:10",
              "statements": [
                {
                  "assignments": [
                    3853
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 3853,
                      "name": "versionContractAddress",
                      "nodeType": "VariableDeclaration",
                      "scope": 3890,
                      "src": "15484:30:10",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      },
                      "typeName": {
                        "id": 3852,
                        "name": "address",
                        "nodeType": "ElementaryTypeName",
                        "src": "15484:7:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 3858,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "hexValue": "436f6e736f727469756d4d616e6167656d656e74436f6e747261637456657273696f6e",
                        "id": 3856,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "15542:37:10",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_69033be35e640bd5d159d71b0b0228ac59a9d2d36e79ed81e0d7b2a7c8ff9c11",
                          "typeString": "literal_string \"ConsortiumManagementContractVersion\""
                        },
                        "value": "ConsortiumManagementContractVersion"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_stringliteral_69033be35e640bd5d159d71b0b0228ac59a9d2d36e79ed81e0d7b2a7c8ff9c11",
                          "typeString": "literal_string \"ConsortiumManagementContractVersion\""
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 3854,
                        "name": "rootContract",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7,
                        "src": "15517:12:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_RootContract_$4081",
                          "typeString": "contract RootContract"
                        }
                      },
                      "id": 3855,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "getContract",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 4038,
                      "src": "15517:24:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$returns$_t_address_$",
                        "typeString": "function (string memory) view external returns (address)"
                      }
                    },
                    "id": 3857,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "15517:63:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "15484:96:10"
                },
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    },
                    "id": 3863,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 3859,
                      "name": "versionContractAddress",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 3853,
                      "src": "15595:22:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "==",
                    "rightExpression": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "hexValue": "30",
                          "id": 3861,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "15629:1:10",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_0_by_1",
                            "typeString": "int_const 0"
                          },
                          "value": "0"
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_rational_0_by_1",
                            "typeString": "int_const 0"
                          }
                        ],
                        "id": 3860,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "nodeType": "ElementaryTypeNameExpression",
                        "src": "15621:7:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_address_$",
                          "typeString": "type(address)"
                        },
                        "typeName": "address"
                      },
                      "id": 3862,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "typeConversion",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "15621:10:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "src": "15595:36:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "id": 3887,
                    "nodeType": "Block",
                    "src": "15691:214:10",
                    "statements": [
                      {
                        "assignments": [
                          3871
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 3871,
                            "name": "version",
                            "nodeType": "VariableDeclaration",
                            "scope": 3890,
                            "src": "15706:43:10",
                            "stateVariable": false,
                            "storageLocation": "default",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_ConsortiumManagementContractVersion_$106",
                              "typeString": "contract ConsortiumManagementContractVersion"
                            },
                            "typeName": {
                              "contractScope": null,
                              "id": 3870,
                              "name": "ConsortiumManagementContractVersion",
                              "nodeType": "UserDefinedTypeName",
                              "referencedDeclaration": 106,
                              "src": "15706:35:10",
                              "typeDescriptions": {
                                "typeIdentifier": "t_contract$_ConsortiumManagementContractVersion_$106",
                                "typeString": "contract ConsortiumManagementContractVersion"
                              }
                            },
                            "value": null,
                            "visibility": "internal"
                          }
                        ],
                        "id": 3875,
                        "initialValue": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 3873,
                              "name": "versionContractAddress",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 3853,
                              "src": "15788:22:10",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            ],
                            "id": 3872,
                            "name": "ConsortiumManagementContractVersion",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 106,
                            "src": "15752:35:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_contract$_ConsortiumManagementContractVersion_$106_$",
                              "typeString": "type(contract ConsortiumManagementContractVersion)"
                            }
                          },
                          "id": 3874,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "typeConversion",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "15752:59:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_contract$_ConsortiumManagementContractVersion_$106",
                            "typeString": "contract ConsortiumManagementContractVersion"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "15706:105:10"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "components": [
                            {
                              "argumentTypes": null,
                              "arguments": [],
                              "expression": {
                                "argumentTypes": [],
                                "expression": {
                                  "argumentTypes": null,
                                  "id": 3876,
                                  "name": "version",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 3871,
                                  "src": "15834:7:10",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_contract$_ConsortiumManagementContractVersion_$106",
                                    "typeString": "contract ConsortiumManagementContractVersion"
                                  }
                                },
                                "id": 3877,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "getMajor",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 89,
                                "src": "15834:16:10",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_external_pure$__$returns$_t_uint256_$",
                                  "typeString": "function () pure external returns (uint256)"
                                }
                              },
                              "id": 3878,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "15834:18:10",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "arguments": [],
                              "expression": {
                                "argumentTypes": [],
                                "expression": {
                                  "argumentTypes": null,
                                  "id": 3879,
                                  "name": "version",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 3871,
                                  "src": "15854:7:10",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_contract$_ConsortiumManagementContractVersion_$106",
                                    "typeString": "contract ConsortiumManagementContractVersion"
                                  }
                                },
                                "id": 3880,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "getMinor",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 97,
                                "src": "15854:16:10",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_external_pure$__$returns$_t_uint256_$",
                                  "typeString": "function () pure external returns (uint256)"
                                }
                              },
                              "id": 3881,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "15854:18:10",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "arguments": [],
                              "expression": {
                                "argumentTypes": [],
                                "expression": {
                                  "argumentTypes": null,
                                  "id": 3882,
                                  "name": "version",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 3871,
                                  "src": "15874:7:10",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_contract$_ConsortiumManagementContractVersion_$106",
                                    "typeString": "contract ConsortiumManagementContractVersion"
                                  }
                                },
                                "id": 3883,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "getPatch",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 105,
                                "src": "15874:16:10",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_external_pure$__$returns$_t_uint256_$",
                                  "typeString": "function () pure external returns (uint256)"
                                }
                              },
                              "id": 3884,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "15874:18:10",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            }
                          ],
                          "id": 3885,
                          "isConstant": false,
                          "isInlineArray": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "TupleExpression",
                          "src": "15833:60:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$",
                            "typeString": "tuple(uint256,uint256,uint256)"
                          }
                        },
                        "functionReturnParameters": 3851,
                        "id": 3886,
                        "nodeType": "Return",
                        "src": "15826:67:10"
                      }
                    ]
                  },
                  "id": 3888,
                  "nodeType": "IfStatement",
                  "src": "15591:314:10",
                  "trueBody": {
                    "id": 3869,
                    "nodeType": "Block",
                    "src": "15633:43:10",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "components": [
                            {
                              "argumentTypes": null,
                              "hexValue": "30",
                              "id": 3864,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "15656:1:10",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_0_by_1",
                                "typeString": "int_const 0"
                              },
                              "value": "0"
                            },
                            {
                              "argumentTypes": null,
                              "hexValue": "30",
                              "id": 3865,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "15659:1:10",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_0_by_1",
                                "typeString": "int_const 0"
                              },
                              "value": "0"
                            },
                            {
                              "argumentTypes": null,
                              "hexValue": "30",
                              "id": 3866,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "15662:1:10",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_0_by_1",
                                "typeString": "int_const 0"
                              },
                              "value": "0"
                            }
                          ],
                          "id": 3867,
                          "isConstant": false,
                          "isInlineArray": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "nodeType": "TupleExpression",
                          "src": "15655:9:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$_t_rational_0_by_1_$_t_rational_0_by_1_$_t_rational_0_by_1_$",
                            "typeString": "tuple(int_const 0,int_const 0,int_const 0)"
                          }
                        },
                        "functionReturnParameters": 3851,
                        "id": 3868,
                        "nodeType": "Return",
                        "src": "15648:16:10"
                      }
                    ]
                  }
                }
              ]
            },
            "documentation": null,
            "id": 3890,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "getActiveVersion",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3844,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "15412:2:10"
            },
            "payable": false,
            "returnParameters": {
              "id": 3851,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3846,
                  "name": "major",
                  "nodeType": "VariableDeclaration",
                  "scope": 3890,
                  "src": "15437:10:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 3845,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "15437:4:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3848,
                  "name": "minor",
                  "nodeType": "VariableDeclaration",
                  "scope": 3890,
                  "src": "15449:10:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 3847,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "15449:4:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3850,
                  "name": "patch",
                  "nodeType": "VariableDeclaration",
                  "scope": 3890,
                  "src": "15461:10:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 3849,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "15461:4:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "15436:36:10"
            },
            "scope": 3928,
            "src": "15387:525:10",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "private"
          },
          {
            "body": {
              "id": 3902,
              "nodeType": "Block",
              "src": "15990:60:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 3898,
                        "name": "_role",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 3892,
                        "src": "16024:5:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 3899,
                        "name": "ADMIN_ROLE",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 2566,
                        "src": "16031:10:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory",
                          "typeString": "string memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        },
                        {
                          "typeIdentifier": "t_string_memory",
                          "typeString": "string memory"
                        }
                      ],
                      "id": 3897,
                      "name": "areStringsEqual",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 3927,
                      "src": "16008:15:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$",
                        "typeString": "function (string memory,string memory) pure returns (bool)"
                      }
                    },
                    "id": 3900,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "16008:34:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "functionReturnParameters": 3896,
                  "id": 3901,
                  "nodeType": "Return",
                  "src": "16001:41:10"
                }
              ]
            },
            "documentation": null,
            "id": 3903,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "isAdminRole",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3893,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3892,
                  "name": "_role",
                  "nodeType": "VariableDeclaration",
                  "scope": 3903,
                  "src": "15941:19:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 3891,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "15941:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "15940:21:10"
            },
            "payable": false,
            "returnParameters": {
              "id": 3896,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3895,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 3903,
                  "src": "15984:4:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 3894,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "15984:4:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "15983:6:10"
            },
            "scope": 3928,
            "src": "15920:130:10",
            "stateMutability": "pure",
            "superFunction": null,
            "visibility": "private"
          },
          {
            "body": {
              "id": 3926,
              "nodeType": "Block",
              "src": "16153:98:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    },
                    "id": 3924,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 3915,
                              "name": "_str1",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 3905,
                              "src": "16198:5:10",
                              "typeDescriptions": {
                                "typeIdentifier": "t_string_memory_ptr",
                                "typeString": "string memory"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_string_memory_ptr",
                                "typeString": "string memory"
                              }
                            ],
                            "expression": {
                              "argumentTypes": null,
                              "id": 3913,
                              "name": "abi",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 4083,
                              "src": "16181:3:10",
                              "typeDescriptions": {
                                "typeIdentifier": "t_magic_abi",
                                "typeString": "abi"
                              }
                            },
                            "id": 3914,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "memberName": "encodePacked",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": null,
                            "src": "16181:16:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                              "typeString": "function () pure returns (bytes memory)"
                            }
                          },
                          "id": 3916,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "16181:23:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes memory"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes memory"
                          }
                        ],
                        "id": 3912,
                        "name": "keccak256",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4090,
                        "src": "16171:9:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
                          "typeString": "function () pure returns (bytes32)"
                        }
                      },
                      "id": 3917,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "16171:34:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "==",
                    "rightExpression": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 3921,
                              "name": "_str2",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 3907,
                              "src": "16236:5:10",
                              "typeDescriptions": {
                                "typeIdentifier": "t_string_memory_ptr",
                                "typeString": "string memory"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_string_memory_ptr",
                                "typeString": "string memory"
                              }
                            ],
                            "expression": {
                              "argumentTypes": null,
                              "id": 3919,
                              "name": "abi",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 4083,
                              "src": "16219:3:10",
                              "typeDescriptions": {
                                "typeIdentifier": "t_magic_abi",
                                "typeString": "abi"
                              }
                            },
                            "id": 3920,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "memberName": "encodePacked",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": null,
                            "src": "16219:16:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                              "typeString": "function () pure returns (bytes memory)"
                            }
                          },
                          "id": 3922,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "16219:23:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes memory"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes memory"
                          }
                        ],
                        "id": 3918,
                        "name": "keccak256",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4090,
                        "src": "16209:9:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
                          "typeString": "function () pure returns (bytes32)"
                        }
                      },
                      "id": 3923,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "16209:34:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "src": "16171:72:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "functionReturnParameters": 3911,
                  "id": 3925,
                  "nodeType": "Return",
                  "src": "16164:79:10"
                }
              ]
            },
            "documentation": null,
            "id": 3927,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "areStringsEqual",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 3908,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3905,
                  "name": "_str1",
                  "nodeType": "VariableDeclaration",
                  "scope": 3927,
                  "src": "16083:19:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 3904,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "16083:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 3907,
                  "name": "_str2",
                  "nodeType": "VariableDeclaration",
                  "scope": 3927,
                  "src": "16104:19:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 3906,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "16104:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "16082:42:10"
            },
            "payable": false,
            "returnParameters": {
              "id": 3911,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 3910,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 3927,
                  "src": "16147:4:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 3909,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "16147:4:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "16146:6:10"
            },
            "scope": 3928,
            "src": "16058:193:10",
            "stateMutability": "pure",
            "superFunction": null,
            "visibility": "private"
          }
        ],
        "scope": 3929,
        "src": "292:15962:10"
      }
    ],
    "src": "0:16254:10"
  },
  "compiler": {
    "name": "solc",
    "version": "0.4.24+commit.e67f0147.Emscripten.clang"
  },
  "networks": {
    "1554487835301": {
      "events": {},
      "links": {},
      "address": "0x816C910f26557aDEaD56CeF4336B219c1cA711fd",
      "transactionHash": "0x1ea75f861a0a8173940abd29c4c515dd9f4598df1e54ccc473d82c9ecc4fdf55"
    }
  },
  "schemaVersion": "3.0.6",
  "updatedAt": "2019-04-05T18:10:58.808Z",
  "devdoc": {
    "methods": {}
  },
  "userdoc": {
    "methods": {}
  }
}