{
    "contractName": "ClaimHolder",
    "abi": [
        {
            "constant": true,
            "inputs": [
                {
                    "name": "_key",
                    "type": "bytes32"
                }
            ],
            "name": "getKeyPurpose",
            "outputs": [
                {
                    "name": "purpose",
                    "type": "uint256"
                }
            ],
            "payable": false,
            "stateMutability": "view",
            "type": "function"
        },
        {
            "constant": true,
            "inputs": [
                {
                    "name": "_key",
                    "type": "bytes32"
                }
            ],
            "name": "getKey",
            "outputs": [
                {
                    "name": "purpose",
                    "type": "uint256"
                },
                {
                    "name": "keyType",
                    "type": "uint256"
                },
                {
                    "name": "key",
                    "type": "bytes32"
                }
            ],
            "payable": false,
            "stateMutability": "view",
            "type": "function"
        },
        {
            "constant": false,
            "inputs": [
                {
                    "name": "_key",
                    "type": "bytes32"
                },
                {
                    "name": "_purpose",
                    "type": "uint256"
                },
                {
                    "name": "_type",
                    "type": "uint256"
                }
            ],
            "name": "addKey",
            "outputs": [
                {
                    "name": "success",
                    "type": "bool"
                }
            ],
            "payable": false,
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "constant": false,
            "inputs": [
                {
                    "name": "_id",
                    "type": "uint256"
                },
                {
                    "name": "_approve",
                    "type": "bool"
                }
            ],
            "name": "approve",
            "outputs": [
                {
                    "name": "success",
                    "type": "bool"
                }
            ],
            "payable": false,
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "constant": false,
            "inputs": [
                {
                    "name": "_key",
                    "type": "bytes32"
                }
            ],
            "name": "removeKey",
            "outputs": [
                {
                    "name": "success",
                    "type": "bool"
                }
            ],
            "payable": false,
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "constant": true,
            "inputs": [
                {
                    "name": "_purpose",
                    "type": "uint256"
                }
            ],
            "name": "getKeysByPurpose",
            "outputs": [
                {
                    "name": "_keys",
                    "type": "bytes32[]"
                }
            ],
            "payable": false,
            "stateMutability": "view",
            "type": "function"
        },
        {
            "constant": false,
            "inputs": [
                {
                    "name": "_to",
                    "type": "address"
                },
                {
                    "name": "_value",
                    "type": "uint256"
                },
                {
                    "name": "_data",
                    "type": "bytes"
                }
            ],
            "name": "execute",
            "outputs": [
                {
                    "name": "executionId",
                    "type": "uint256"
                }
            ],
            "payable": true,
            "stateMutability": "payable",
            "type": "function"
        },
        {
            "constant": true,
            "inputs": [
                {
                    "name": "_key",
                    "type": "bytes32"
                },
                {
                    "name": "_purpose",
                    "type": "uint256"
                }
            ],
            "name": "keyHasPurpose",
            "outputs": [
                {
                    "name": "result",
                    "type": "bool"
                }
            ],
            "payable": false,
            "stateMutability": "view",
            "type": "function"
        },
        {
            "anonymous": false,
            "inputs": [
                {
                    "indexed": true,
                    "name": "claimRequestId",
                    "type": "uint256"
                },
                {
                    "indexed": true,
                    "name": "claimType",
                    "type": "uint256"
                },
                {
                    "indexed": false,
                    "name": "scheme",
                    "type": "uint256"
                },
                {
                    "indexed": true,
                    "name": "issuer",
                    "type": "address"
                },
                {
                    "indexed": false,
                    "name": "signature",
                    "type": "bytes"
                },
                {
                    "indexed": false,
                    "name": "data",
                    "type": "bytes"
                },
                {
                    "indexed": false,
                    "name": "uri",
                    "type": "string"
                }
            ],
            "name": "ClaimRequested",
            "type": "event"
        },
        {
            "anonymous": false,
            "inputs": [
                {
                    "indexed": true,
                    "name": "claimId",
                    "type": "bytes32"
                },
                {
                    "indexed": true,
                    "name": "claimType",
                    "type": "uint256"
                },
                {
                    "indexed": false,
                    "name": "scheme",
                    "type": "uint256"
                },
                {
                    "indexed": true,
                    "name": "issuer",
                    "type": "address"
                },
                {
                    "indexed": false,
                    "name": "signature",
                    "type": "bytes"
                },
                {
                    "indexed": false,
                    "name": "data",
                    "type": "bytes"
                },
                {
                    "indexed": false,
                    "name": "uri",
                    "type": "string"
                }
            ],
            "name": "ClaimAdded",
            "type": "event"
        },
        {
            "anonymous": false,
            "inputs": [
                {
                    "indexed": true,
                    "name": "claimId",
                    "type": "bytes32"
                },
                {
                    "indexed": true,
                    "name": "claimType",
                    "type": "uint256"
                },
                {
                    "indexed": false,
                    "name": "scheme",
                    "type": "uint256"
                },
                {
                    "indexed": true,
                    "name": "issuer",
                    "type": "address"
                },
                {
                    "indexed": false,
                    "name": "signature",
                    "type": "bytes"
                },
                {
                    "indexed": false,
                    "name": "data",
                    "type": "bytes"
                },
                {
                    "indexed": false,
                    "name": "uri",
                    "type": "string"
                }
            ],
            "name": "ClaimRemoved",
            "type": "event"
        },
        {
            "anonymous": false,
            "inputs": [
                {
                    "indexed": true,
                    "name": "claimId",
                    "type": "bytes32"
                },
                {
                    "indexed": true,
                    "name": "claimType",
                    "type": "uint256"
                },
                {
                    "indexed": false,
                    "name": "scheme",
                    "type": "uint256"
                },
                {
                    "indexed": true,
                    "name": "issuer",
                    "type": "address"
                },
                {
                    "indexed": false,
                    "name": "signature",
                    "type": "bytes"
                },
                {
                    "indexed": false,
                    "name": "data",
                    "type": "bytes"
                },
                {
                    "indexed": false,
                    "name": "uri",
                    "type": "string"
                }
            ],
            "name": "ClaimChanged",
            "type": "event"
        },
        {
            "anonymous": false,
            "inputs": [
                {
                    "indexed": true,
                    "name": "executionId",
                    "type": "uint256"
                },
                {
                    "indexed": true,
                    "name": "to",
                    "type": "address"
                },
                {
                    "indexed": true,
                    "name": "value",
                    "type": "uint256"
                },
                {
                    "indexed": false,
                    "name": "data",
                    "type": "bytes"
                }
            ],
            "name": "ExecutionFailed",
            "type": "event"
        },
        {
            "anonymous": false,
            "inputs": [
                {
                    "indexed": true,
                    "name": "key",
                    "type": "bytes32"
                },
                {
                    "indexed": true,
                    "name": "purpose",
                    "type": "uint256"
                },
                {
                    "indexed": true,
                    "name": "keyType",
                    "type": "uint256"
                }
            ],
            "name": "KeyAdded",
            "type": "event"
        },
        {
            "anonymous": false,
            "inputs": [
                {
                    "indexed": true,
                    "name": "key",
                    "type": "bytes32"
                },
                {
                    "indexed": true,
                    "name": "purpose",
                    "type": "uint256"
                },
                {
                    "indexed": true,
                    "name": "keyType",
                    "type": "uint256"
                }
            ],
            "name": "KeyRemoved",
            "type": "event"
        },
        {
            "anonymous": false,
            "inputs": [
                {
                    "indexed": true,
                    "name": "executionId",
                    "type": "uint256"
                },
                {
                    "indexed": true,
                    "name": "to",
                    "type": "address"
                },
                {
                    "indexed": true,
                    "name": "value",
                    "type": "uint256"
                },
                {
                    "indexed": false,
                    "name": "data",
                    "type": "bytes"
                }
            ],
            "name": "ExecutionRequested",
            "type": "event"
        },
        {
            "anonymous": false,
            "inputs": [
                {
                    "indexed": true,
                    "name": "executionId",
                    "type": "uint256"
                },
                {
                    "indexed": true,
                    "name": "to",
                    "type": "address"
                },
                {
                    "indexed": true,
                    "name": "value",
                    "type": "uint256"
                },
                {
                    "indexed": false,
                    "name": "data",
                    "type": "bytes"
                }
            ],
            "name": "Executed",
            "type": "event"
        },
        {
            "anonymous": false,
            "inputs": [
                {
                    "indexed": true,
                    "name": "executionId",
                    "type": "uint256"
                },
                {
                    "indexed": false,
                    "name": "approved",
                    "type": "bool"
                }
            ],
            "name": "Approved",
            "type": "event"
        },
        {
            "constant": false,
            "inputs": [
                {
                    "name": "_claimType",
                    "type": "uint256"
                },
                {
                    "name": "_scheme",
                    "type": "uint256"
                },
                {
                    "name": "_issuer",
                    "type": "address"
                },
                {
                    "name": "_signature",
                    "type": "bytes"
                },
                {
                    "name": "_data",
                    "type": "bytes"
                },
                {
                    "name": "_uri",
                    "type": "string"
                }
            ],
            "name": "addClaim",
            "outputs": [
                {
                    "name": "claimRequestId",
                    "type": "bytes32"
                }
            ],
            "payable": false,
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "constant": false,
            "inputs": [
                {
                    "name": "_claimId",
                    "type": "bytes32"
                }
            ],
            "name": "removeClaim",
            "outputs": [
                {
                    "name": "success",
                    "type": "bool"
                }
            ],
            "payable": false,
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "constant": true,
            "inputs": [
                {
                    "name": "_claimId",
                    "type": "bytes32"
                }
            ],
            "name": "getClaim",
            "outputs": [
                {
                    "name": "claimType",
                    "type": "uint256"
                },
                {
                    "name": "scheme",
                    "type": "uint256"
                },
                {
                    "name": "issuer",
                    "type": "address"
                },
                {
                    "name": "signature",
                    "type": "bytes"
                },
                {
                    "name": "data",
                    "type": "bytes"
                },
                {
                    "name": "uri",
                    "type": "string"
                }
            ],
            "payable": false,
            "stateMutability": "view",
            "type": "function"
        },
        {
            "constant": true,
            "inputs": [
                {
                    "name": "_claimType",
                    "type": "uint256"
                }
            ],
            "name": "getClaimIdsByType",
            "outputs": [
                {
                    "name": "claimIds",
                    "type": "bytes32[]"
                }
            ],
            "payable": false,
            "stateMutability": "view",
            "type": "function"
        }
    ],
    "bytecode": "0x6080604052600033604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140191505060405180910390209050806001600083600019166000191681526020019081526020016000206002018160001916905550600180600083600019166000191681526020019081526020016000206000018190555060018060008360001916600019168152602001908152602001600020600101819055506002600060018152602001908152602001600020819080600181540180825580915050906001820390600052602060002001600090919290919091509060001916905550600180600083600019166000191681526020019081526020016000206000015482600019167f480000bb1edad8ca1470381cc334b1917fbd51c6531f3a623ea8e0ec7e38a6e960405160405180910390a4506127518061016b6000396000f3006080604052600436106100ba576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063032c1a8a146100bf57806312aaac70146101045780631d3812401461015f578063262b54f5146101bc5780634eee424a1461023e578063747442d314610287578063862642f5146102d85780639010f72614610321578063b1a34e0d146103a3578063b61d27f6146104e8578063c9100bcb14610582578063d202158d14610745575b600080fd5b3480156100cb57600080fd5b506100ee6004803603810190808035600019169060200190929190505050610798565b6040518082815260200191505060405180910390f35b34801561011057600080fd5b5061013360048036038101908080356000191690602001909291905050506107c0565b604051808481526020018381526020018260001916600019168152602001935050505060405180910390f35b34801561016b57600080fd5b506101a26004803603810190808035600019169060200190929190803590602001909291908035906020019092919050505061082f565b604051808215151515815260200191505060405180910390f35b3480156101c857600080fd5b506101e760048036038101908080359060200190929190505050610ae8565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561022a57808201518184015260208101905061020f565b505050509050019250505060405180910390f35b34801561024a57600080fd5b5061026d6004803603810190808035600019169060200190929190505050610b57565b604051808215151515815260200191505060405180910390f35b34801561029357600080fd5b506102be600480360381019080803590602001909291908035151590602001909291905050506110c5565b604051808215151515815260200191505060405180910390f35b3480156102e457600080fd5b5061030760048036038101908080356000191690602001909291905050506115f0565b604051808215151515815260200191505060405180910390f35b34801561032d57600080fd5b5061034c60048036038101908080359060200190929190505050611976565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561038f578082015181840152602081019050610374565b505050509050019250505060405180910390f35b3480156103af57600080fd5b506104ca6004803603810190808035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506119e5565b60405180826000191660001916815260200191505060405180910390f35b61056c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050611f0a565b6040518082815260200191505060405180910390f35b34801561058e57600080fd5b506105b160048036038101908080356000191690602001909291905050506121ec565b604051808781526020018681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001806020018060200180602001848103845287818151815260200191508051906020019080838360005b8381101561063757808201518184015260208101905061061c565b50505050905090810190601f1680156106645780820380516001836020036101000a031916815260200191505b50848103835286818151815260200191508051906020019080838360005b8381101561069d578082015181840152602081019050610682565b50505050905090810190601f1680156106ca5780820380516001836020036101000a031916815260200191505b50848103825285818151815260200191508051906020019080838360005b838110156107035780820151818401526020810190506106e8565b50505050905090810190601f1680156107305780820380516001836020036101000a031916815260200191505b50995050505050505050505060405180910390f35b34801561075157600080fd5b5061077e6004803603810190808035600019169060200190929190803590602001909291905050506124b6565b604051808215151515815260200191505060405180910390f35b6000600160008360001916600019168152602001908152602001600020600001549050919050565b60008060006001600085600019166000191681526020019081526020016000206000015460016000866000191660001916815260200190815260200160002060010154600160008760001916600019168152602001908152602001600020600201549250925092509193909250565b600083600019166001600086600019166000191681526020019081526020016000206002015460001916141515156108cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f4b657920616c726561647920657869737473000000000000000000000000000081525060200191505060405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156109fa5761095f33604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401915050604051809103902060016124b6565b15156109f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001807f53656e64657220646f6573206e6f742068617665206d616e6167656d656e742081526020017f6b6579000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b5b8360016000866000191660001916815260200190815260200160002060020181600019169055508260016000866000191660001916815260200190815260200160002060000181905550816001600086600019166000191681526020019081526020016000206001018190555060026000848152602001908152602001600020849080600181540180825580915050906001820390600052602060002001600090919290919091509060001916905550818385600019167f480000bb1edad8ca1470381cc334b1917fbd51c6531f3a623ea8e0ec7e38a6e960405160405180910390a4600190509392505050565b606060056000838152602001908152602001600020805480602002602001604051908101604052809291908181526020018280548015610b4b57602002820191906000526020600020905b81546000191681526020019060010190808311610b33575b50505050509050919050565b60008060003073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610c8757610bec33604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401915050604051809103902060016124b6565b1515610c86576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001807f53656e64657220646f6573206e6f742068617665206d616e6167656d656e742081526020017f6b6579000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b5b60046000856000191660001916815260200190815260200160002060020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166004600086600019166000191681526020019081526020016000206000015485600019167f3cf57863a89432c61c4a27073c6ee39e8a764bff5a05aebfbcdcdc80b2e6130a60046000896000191660001916815260200190815260200160002060010154600460008a60001916600019168152602001908152602001600020600301600460008b60001916600019168152602001908152602001600020600401600460008c6000191660001916815260200190815260200160002060050160405180858152602001806020018060200180602001848103845287818154600181600116156101000203166002900481526020019150805460018160011615610100020316600290048015610e315780601f10610e0657610100808354040283529160200191610e31565b820191906000526020600020905b815481529060010190602001808311610e1457829003601f168201915b5050848103835286818154600181600116156101000203166002900481526020019150805460018160011615610100020316600290048015610eb45780601f10610e8957610100808354040283529160200191610eb4565b820191906000526020600020905b815481529060010190602001808311610e9757829003601f168201915b5050848103825285818154600181600116156101000203166002900481526020019150805460018160011615610100020316600290048015610f375780601f10610f0c57610100808354040283529160200191610f37565b820191906000526020600020905b815481529060010190602001808311610f1a57829003601f168201915b505097505050505050505060405180910390a4600560006004600087600019166000191681526020019081526020016000206000015481526020019081526020016000209150600090505b81805490508110156110355783600019168282815481101515610fa157fe5b9060005260206000200154600019161415611028578181815481101515610fc457fe5b9060005260206000200160009055816001838054905003815481101515610fe757fe5b9060005260206000200154828281548110151561100057fe5b90600052602060002001816000191690555081805480919060019003611026919061251f565b505b8080600101915050610f82565b60046000856000191660001916815260200190815260200160002060008082016000905560018201600090556002820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055600382016000611098919061254b565b6004820160006110a8919061254b565b6005820160006110b89190612593565b5050600192505050919050565b600061112233604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401915050604051809103902060026124b6565b1515611196576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f53656e64657220646f6573206e6f74206861766520616374696f6e206b65790081525060200191505060405180910390fd5b827fb3932da477fe5d6c8ff2eafef050c0f3a1af18fc07121001482600f36f3715d883604051808215151515815260200191505060405180910390a26001151582151514156115b65760016003600085815260200190815260200160002060030160006101000a81548160ff0219169083151502179055506003600084815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600360008581526020019081526020016000206001015460036000868152602001908152602001600020600201600060405180838054600181600116156101000203166002900480156112ef5780601f106112c4576101008083540402835291602001916112ef565b820191906000526020600020905b8154815290600101906020018083116112d257829003601f168201915b50508260ff1681526020019250505060006040518083038185875af1925050509050801561147e5760016003600085815260200190815260200160002060030160016101000a81548160ff02191690831515021790555060036000848152602001908152602001600020600101546003600085815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16847f1f920dbda597d7bf95035464170fa58d0a4b57f13a1c315ace6793b9f63688b860036000888152602001908152602001600020600201604051808060200182810382528381815460018160011615610100020316600290048152602001915080546001816001161561010002031660029004801561146b5780601f106114405761010080835404028352916020019161146b565b820191906000526020600020905b81548152906001019060200180831161144e57829003601f168201915b50509250505060405180910390a46115ea565b60036000848152602001908152602001600020600101546003600085815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16847fe10c49d9f7c71da23262367013434763cfdb2332267641728d25cd712c5c6a686003600088815260200190815260200160002060020160405180806020018281038252838181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156115a35780601f10611578576101008083540402835291602001916115a3565b820191906000526020600020905b81548152906001019060200180831161158657829003601f168201915b50509250505060405180910390a46115ea565b60006003600085815260200190815260200160002060030160006101000a81548160ff021916908315150217905550600190505b92915050565b600080600083600019166001600086600019166000191681526020019081526020016000206002015460001916141515611692576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f4e6f2073756368206b657900000000000000000000000000000000000000000081525060200191505060405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156117bd5761172233604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401915050604051809103902060016124b6565b15156117bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001807f53656e64657220646f6573206e6f742068617665206d616e6167656d656e742081526020017f6b6579000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b5b600160008560001916600019168152602001908152602001600020600101546001600086600019166000191681526020019081526020016000206000015460016000876000191660001916815260200190815260200160002060020154600019167f585a4aef50f8267a92b32412b331b20f7f8b96f2245b253b9cc50dcc621d339760405160405180910390a4600260006001600087600019166000191681526020019081526020016000206000015481526020019081526020016000209150600090505b818054905081101561193557836000191682828154811015156118a157fe5b90600052602060002001546000191614156119285781818154811015156118c457fe5b90600052602060002001600090558160018380549050038154811015156118e757fe5b9060005260206000200154828281548110151561190057fe5b90600052602060002001816000191690555081805480919060019003611926919061251f565b505b8080600101915050611882565b600160008560001916600019168152602001908152602001600020600080820160009055600182016000905560028201600090555050600192505050919050565b6060600260008381526020019081526020016000208054806020026020016040519081016040528092919081815260200182805480156119d957602002820191906000526020600020905b815460001916815260200190600101908083116119c1575b50505050509050919050565b6000808588604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140182815260200192505050604051809103902090503073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611b6e57611ad333604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401915050604051809103902060036124b6565b1515611b6d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001807f53656e64657220646f6573206e6f74206861766520636c61696d207369676e6581526020017f72206b657900000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b5b8573ffffffffffffffffffffffffffffffffffffffff1660046000836000191660001916815260200190815260200160002060020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515611c2557600560008981526020019081526020016000208190806001815401808255809150509060018203906000526020600020016000909192909190915090600019169055505b876004600083600019166000191681526020019081526020016000206000018190555086600460008360001916600019168152602001908152602001600020600101819055508560046000836000191660001916815260200190815260200160002060020160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550846004600083600019166000191681526020019081526020016000206003019080519060200190611cfa9291906125db565b50836004600083600019166000191681526020019081526020016000206004019080519060200190611d2d9291906125db565b50826004600083600019166000191681526020019081526020016000206005019080519060200190611d6092919061265b565b508573ffffffffffffffffffffffffffffffffffffffff168882600019167f46149b18aa084502c3f12bc75e19eda8bda8d102b82cce8474677a6d0d5f43c58a89898960405180858152602001806020018060200180602001848103845287818151815260200191508051906020019080838360005b83811015611df1578082015181840152602081019050611dd6565b50505050905090810190601f168015611e1e5780820380516001836020036101000a031916815260200191505b50848103835286818151815260200191508051906020019080838360005b83811015611e57578082015181840152602081019050611e3c565b50505050905090810190601f168015611e845780820380516001836020036101000a031916815260200191505b50848103825285818151815260200191508051906020019080838360005b83811015611ebd578082015181840152602081019050611ea2565b50505050905090810190601f168015611eea5780820380516001836020036101000a031916815260200191505b5097505050505050505060405180910390a4809150509695505050505050565b6000600360008054815260200190815260200160002060030160019054906101000a900460ff16151515611fa6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f416c72656164792065786563757465640000000000000000000000000000000081525060200191505060405180910390fd5b83600360008054815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508260036000805481526020019081526020016000206001018190555081600360008054815260200190815260200160002060020190805190602001906120439291906125db565b50828473ffffffffffffffffffffffffffffffffffffffff166000547f8afcfabcb00e47a53a8fc3e9f23ff47ee1926194bb1350dd007c50b412a6cee8856040518080602001828103825283818151815260200191508051906020019080838360005b838110156120c15780820151818401526020810190506120a6565b50505050905090810190601f1680156120ee5780820380516001836020036101000a031916815260200191505b509250505060405180910390a461215633604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401915050604051809103902060016124b6565b806121b857506121b733604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401915050604051809103902060026124b6565b5b156121cc576121ca60005460016110c5565b505b600080815480929190600101919050555060016000540390509392505050565b600080600060608060606004600088600019166000191681526020019081526020016000206000015460046000896000191660001916815260200190815260200160002060010154600460008a6000191660001916815260200190815260200160002060020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600460008b60001916600019168152602001908152602001600020600301600460008c60001916600019168152602001908152602001600020600401600460008d60001916600019168152602001908152602001600020600501828054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156123625780601f1061233757610100808354040283529160200191612362565b820191906000526020600020905b81548152906001019060200180831161234557829003601f168201915b50505050509250818054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156123fe5780601f106123d3576101008083540402835291602001916123fe565b820191906000526020600020905b8154815290600101906020018083116123e157829003601f168201915b50505050509150808054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561249a5780601f1061246f5761010080835404028352916020019161249a565b820191906000526020600020905b81548152906001019060200180831161247d57829003601f168201915b5050505050905095509550955095509550955091939550919395565b6000806000600102600160008660001916600019168152602001908152602001600020600201546000191614156124f05760009150612518565b8260016000866000191660001916815260200190815260200160002060000154111590508091505b5092915050565b8154818355818111156125465781836000526020600020918201910161254591906126db565b5b505050565b50805460018160011615610100020316600290046000825580601f106125715750612590565b601f01602090049060005260206000209081019061258f9190612700565b5b50565b50805460018160011615610100020316600290046000825580601f106125b957506125d8565b601f0160209004906000526020600020908101906125d79190612700565b5b50565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061261c57805160ff191683800117855561264a565b8280016001018555821561264a579182015b8281111561264957825182559160200191906001019061262e565b5b5090506126579190612700565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061269c57805160ff19168380011785556126ca565b828001600101855582156126ca579182015b828111156126c95782518255916020019190600101906126ae565b5b5090506126d79190612700565b5090565b6126fd91905b808211156126f95760008160009055506001016126e1565b5090565b90565b61272291905b8082111561271e576000816000905550600101612706565b5090565b905600a165627a7a7230582077729834ad271e0889f52d6152398bef19a247bf1cf61461c83ab002c9d83b850029",
    "deployedBytecode": "0x6080604052600436106100ba576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063032c1a8a146100bf57806312aaac70146101045780631d3812401461015f578063262b54f5146101bc5780634eee424a1461023e578063747442d314610287578063862642f5146102d85780639010f72614610321578063b1a34e0d146103a3578063b61d27f6146104e8578063c9100bcb14610582578063d202158d14610745575b600080fd5b3480156100cb57600080fd5b506100ee6004803603810190808035600019169060200190929190505050610798565b6040518082815260200191505060405180910390f35b34801561011057600080fd5b5061013360048036038101908080356000191690602001909291905050506107c0565b604051808481526020018381526020018260001916600019168152602001935050505060405180910390f35b34801561016b57600080fd5b506101a26004803603810190808035600019169060200190929190803590602001909291908035906020019092919050505061082f565b604051808215151515815260200191505060405180910390f35b3480156101c857600080fd5b506101e760048036038101908080359060200190929190505050610ae8565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561022a57808201518184015260208101905061020f565b505050509050019250505060405180910390f35b34801561024a57600080fd5b5061026d6004803603810190808035600019169060200190929190505050610b57565b604051808215151515815260200191505060405180910390f35b34801561029357600080fd5b506102be600480360381019080803590602001909291908035151590602001909291905050506110c5565b604051808215151515815260200191505060405180910390f35b3480156102e457600080fd5b5061030760048036038101908080356000191690602001909291905050506115f0565b604051808215151515815260200191505060405180910390f35b34801561032d57600080fd5b5061034c60048036038101908080359060200190929190505050611976565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561038f578082015181840152602081019050610374565b505050509050019250505060405180910390f35b3480156103af57600080fd5b506104ca6004803603810190808035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506119e5565b60405180826000191660001916815260200191505060405180910390f35b61056c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050611f0a565b6040518082815260200191505060405180910390f35b34801561058e57600080fd5b506105b160048036038101908080356000191690602001909291905050506121ec565b604051808781526020018681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001806020018060200180602001848103845287818151815260200191508051906020019080838360005b8381101561063757808201518184015260208101905061061c565b50505050905090810190601f1680156106645780820380516001836020036101000a031916815260200191505b50848103835286818151815260200191508051906020019080838360005b8381101561069d578082015181840152602081019050610682565b50505050905090810190601f1680156106ca5780820380516001836020036101000a031916815260200191505b50848103825285818151815260200191508051906020019080838360005b838110156107035780820151818401526020810190506106e8565b50505050905090810190601f1680156107305780820380516001836020036101000a031916815260200191505b50995050505050505050505060405180910390f35b34801561075157600080fd5b5061077e6004803603810190808035600019169060200190929190803590602001909291905050506124b6565b604051808215151515815260200191505060405180910390f35b6000600160008360001916600019168152602001908152602001600020600001549050919050565b60008060006001600085600019166000191681526020019081526020016000206000015460016000866000191660001916815260200190815260200160002060010154600160008760001916600019168152602001908152602001600020600201549250925092509193909250565b600083600019166001600086600019166000191681526020019081526020016000206002015460001916141515156108cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f4b657920616c726561647920657869737473000000000000000000000000000081525060200191505060405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156109fa5761095f33604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401915050604051809103902060016124b6565b15156109f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001807f53656e64657220646f6573206e6f742068617665206d616e6167656d656e742081526020017f6b6579000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b5b8360016000866000191660001916815260200190815260200160002060020181600019169055508260016000866000191660001916815260200190815260200160002060000181905550816001600086600019166000191681526020019081526020016000206001018190555060026000848152602001908152602001600020849080600181540180825580915050906001820390600052602060002001600090919290919091509060001916905550818385600019167f480000bb1edad8ca1470381cc334b1917fbd51c6531f3a623ea8e0ec7e38a6e960405160405180910390a4600190509392505050565b606060056000838152602001908152602001600020805480602002602001604051908101604052809291908181526020018280548015610b4b57602002820191906000526020600020905b81546000191681526020019060010190808311610b33575b50505050509050919050565b60008060003073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610c8757610bec33604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401915050604051809103902060016124b6565b1515610c86576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001807f53656e64657220646f6573206e6f742068617665206d616e6167656d656e742081526020017f6b6579000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b5b60046000856000191660001916815260200190815260200160002060020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166004600086600019166000191681526020019081526020016000206000015485600019167f3cf57863a89432c61c4a27073c6ee39e8a764bff5a05aebfbcdcdc80b2e6130a60046000896000191660001916815260200190815260200160002060010154600460008a60001916600019168152602001908152602001600020600301600460008b60001916600019168152602001908152602001600020600401600460008c6000191660001916815260200190815260200160002060050160405180858152602001806020018060200180602001848103845287818154600181600116156101000203166002900481526020019150805460018160011615610100020316600290048015610e315780601f10610e0657610100808354040283529160200191610e31565b820191906000526020600020905b815481529060010190602001808311610e1457829003601f168201915b5050848103835286818154600181600116156101000203166002900481526020019150805460018160011615610100020316600290048015610eb45780601f10610e8957610100808354040283529160200191610eb4565b820191906000526020600020905b815481529060010190602001808311610e9757829003601f168201915b5050848103825285818154600181600116156101000203166002900481526020019150805460018160011615610100020316600290048015610f375780601f10610f0c57610100808354040283529160200191610f37565b820191906000526020600020905b815481529060010190602001808311610f1a57829003601f168201915b505097505050505050505060405180910390a4600560006004600087600019166000191681526020019081526020016000206000015481526020019081526020016000209150600090505b81805490508110156110355783600019168282815481101515610fa157fe5b9060005260206000200154600019161415611028578181815481101515610fc457fe5b9060005260206000200160009055816001838054905003815481101515610fe757fe5b9060005260206000200154828281548110151561100057fe5b90600052602060002001816000191690555081805480919060019003611026919061251f565b505b8080600101915050610f82565b60046000856000191660001916815260200190815260200160002060008082016000905560018201600090556002820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055600382016000611098919061254b565b6004820160006110a8919061254b565b6005820160006110b89190612593565b5050600192505050919050565b600061112233604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401915050604051809103902060026124b6565b1515611196576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f53656e64657220646f6573206e6f74206861766520616374696f6e206b65790081525060200191505060405180910390fd5b827fb3932da477fe5d6c8ff2eafef050c0f3a1af18fc07121001482600f36f3715d883604051808215151515815260200191505060405180910390a26001151582151514156115b65760016003600085815260200190815260200160002060030160006101000a81548160ff0219169083151502179055506003600084815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600360008581526020019081526020016000206001015460036000868152602001908152602001600020600201600060405180838054600181600116156101000203166002900480156112ef5780601f106112c4576101008083540402835291602001916112ef565b820191906000526020600020905b8154815290600101906020018083116112d257829003601f168201915b50508260ff1681526020019250505060006040518083038185875af1925050509050801561147e5760016003600085815260200190815260200160002060030160016101000a81548160ff02191690831515021790555060036000848152602001908152602001600020600101546003600085815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16847f1f920dbda597d7bf95035464170fa58d0a4b57f13a1c315ace6793b9f63688b860036000888152602001908152602001600020600201604051808060200182810382528381815460018160011615610100020316600290048152602001915080546001816001161561010002031660029004801561146b5780601f106114405761010080835404028352916020019161146b565b820191906000526020600020905b81548152906001019060200180831161144e57829003601f168201915b50509250505060405180910390a46115ea565b60036000848152602001908152602001600020600101546003600085815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16847fe10c49d9f7c71da23262367013434763cfdb2332267641728d25cd712c5c6a686003600088815260200190815260200160002060020160405180806020018281038252838181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156115a35780601f10611578576101008083540402835291602001916115a3565b820191906000526020600020905b81548152906001019060200180831161158657829003601f168201915b50509250505060405180910390a46115ea565b60006003600085815260200190815260200160002060030160006101000a81548160ff021916908315150217905550600190505b92915050565b600080600083600019166001600086600019166000191681526020019081526020016000206002015460001916141515611692576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f4e6f2073756368206b657900000000000000000000000000000000000000000081525060200191505060405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156117bd5761172233604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401915050604051809103902060016124b6565b15156117bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001807f53656e64657220646f6573206e6f742068617665206d616e6167656d656e742081526020017f6b6579000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b5b600160008560001916600019168152602001908152602001600020600101546001600086600019166000191681526020019081526020016000206000015460016000876000191660001916815260200190815260200160002060020154600019167f585a4aef50f8267a92b32412b331b20f7f8b96f2245b253b9cc50dcc621d339760405160405180910390a4600260006001600087600019166000191681526020019081526020016000206000015481526020019081526020016000209150600090505b818054905081101561193557836000191682828154811015156118a157fe5b90600052602060002001546000191614156119285781818154811015156118c457fe5b90600052602060002001600090558160018380549050038154811015156118e757fe5b9060005260206000200154828281548110151561190057fe5b90600052602060002001816000191690555081805480919060019003611926919061251f565b505b8080600101915050611882565b600160008560001916600019168152602001908152602001600020600080820160009055600182016000905560028201600090555050600192505050919050565b6060600260008381526020019081526020016000208054806020026020016040519081016040528092919081815260200182805480156119d957602002820191906000526020600020905b815460001916815260200190600101908083116119c1575b50505050509050919050565b6000808588604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140182815260200192505050604051809103902090503073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611b6e57611ad333604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401915050604051809103902060036124b6565b1515611b6d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001807f53656e64657220646f6573206e6f74206861766520636c61696d207369676e6581526020017f72206b657900000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b5b8573ffffffffffffffffffffffffffffffffffffffff1660046000836000191660001916815260200190815260200160002060020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515611c2557600560008981526020019081526020016000208190806001815401808255809150509060018203906000526020600020016000909192909190915090600019169055505b876004600083600019166000191681526020019081526020016000206000018190555086600460008360001916600019168152602001908152602001600020600101819055508560046000836000191660001916815260200190815260200160002060020160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550846004600083600019166000191681526020019081526020016000206003019080519060200190611cfa9291906125db565b50836004600083600019166000191681526020019081526020016000206004019080519060200190611d2d9291906125db565b50826004600083600019166000191681526020019081526020016000206005019080519060200190611d6092919061265b565b508573ffffffffffffffffffffffffffffffffffffffff168882600019167f46149b18aa084502c3f12bc75e19eda8bda8d102b82cce8474677a6d0d5f43c58a89898960405180858152602001806020018060200180602001848103845287818151815260200191508051906020019080838360005b83811015611df1578082015181840152602081019050611dd6565b50505050905090810190601f168015611e1e5780820380516001836020036101000a031916815260200191505b50848103835286818151815260200191508051906020019080838360005b83811015611e57578082015181840152602081019050611e3c565b50505050905090810190601f168015611e845780820380516001836020036101000a031916815260200191505b50848103825285818151815260200191508051906020019080838360005b83811015611ebd578082015181840152602081019050611ea2565b50505050905090810190601f168015611eea5780820380516001836020036101000a031916815260200191505b5097505050505050505060405180910390a4809150509695505050505050565b6000600360008054815260200190815260200160002060030160019054906101000a900460ff16151515611fa6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f416c72656164792065786563757465640000000000000000000000000000000081525060200191505060405180910390fd5b83600360008054815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508260036000805481526020019081526020016000206001018190555081600360008054815260200190815260200160002060020190805190602001906120439291906125db565b50828473ffffffffffffffffffffffffffffffffffffffff166000547f8afcfabcb00e47a53a8fc3e9f23ff47ee1926194bb1350dd007c50b412a6cee8856040518080602001828103825283818151815260200191508051906020019080838360005b838110156120c15780820151818401526020810190506120a6565b50505050905090810190601f1680156120ee5780820380516001836020036101000a031916815260200191505b509250505060405180910390a461215633604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401915050604051809103902060016124b6565b806121b857506121b733604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401915050604051809103902060026124b6565b5b156121cc576121ca60005460016110c5565b505b600080815480929190600101919050555060016000540390509392505050565b600080600060608060606004600088600019166000191681526020019081526020016000206000015460046000896000191660001916815260200190815260200160002060010154600460008a6000191660001916815260200190815260200160002060020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600460008b60001916600019168152602001908152602001600020600301600460008c60001916600019168152602001908152602001600020600401600460008d60001916600019168152602001908152602001600020600501828054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156123625780601f1061233757610100808354040283529160200191612362565b820191906000526020600020905b81548152906001019060200180831161234557829003601f168201915b50505050509250818054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156123fe5780601f106123d3576101008083540402835291602001916123fe565b820191906000526020600020905b8154815290600101906020018083116123e157829003601f168201915b50505050509150808054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561249a5780601f1061246f5761010080835404028352916020019161249a565b820191906000526020600020905b81548152906001019060200180831161247d57829003601f168201915b5050505050905095509550955095509550955091939550919395565b6000806000600102600160008660001916600019168152602001908152602001600020600201546000191614156124f05760009150612518565b8260016000866000191660001916815260200190815260200160002060000154111590508091505b5092915050565b8154818355818111156125465781836000526020600020918201910161254591906126db565b5b505050565b50805460018160011615610100020316600290046000825580601f106125715750612590565b601f01602090049060005260206000209081019061258f9190612700565b5b50565b50805460018160011615610100020316600290046000825580601f106125b957506125d8565b601f0160209004906000526020600020908101906125d79190612700565b5b50565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061261c57805160ff191683800117855561264a565b8280016001018555821561264a579182015b8281111561264957825182559160200191906001019061262e565b5b5090506126579190612700565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061269c57805160ff19168380011785556126ca565b828001600101855582156126ca579182015b828111156126c95782518255916020019190600101906126ae565b5b5090506126d79190612700565b5090565b6126fd91905b808211156126f95760008160009055506001016126e1565b5090565b90565b61272291905b8082111561271e576000816000905550600101612706565b5090565b905600a165627a7a7230582077729834ad271e0889f52d6152398bef19a247bf1cf61461c83ab002c9d83b850029",
    "sourceMap": "76:5028:4:-;;;530:12:7;555:10;545:21;;;;;;;;;;;;;;;;;;;;;;;;530:36;;593:4;576;:10;581:4;576:10;;;;;;;;;;;;;;;;;:14;;:21;;;;;;;628:1;607:4;:10;612:4;607:10;;;;;;;;;;;;;;;;;:18;;:22;;;;660:1;639:4;:10;644:4;639:10;;;;;;;;;;;;;;;;;:18;;:22;;;;671:13;:16;685:1;671:16;;;;;;;;;;;693:4;671:27;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;671:27:7;;;;;;;;;;;;;;;;;;;;;;;;;;;748:1;728:4;:10;733:4;728:10;;;;;;;;;;;;;;;;;:18;;;722:4;713:37;;;;;;;;;;;;;499:258;76:5028:4;;;;;;",
    "deployedSourceMap": "76:5028:4:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1457:146:7;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1457:146:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1031:205;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1031:205:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3162:619;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3162:619:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4935:167:4;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4935:167:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;4935:167:4;;;;;;;;;;;;;;;;;2819:896;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2819:896:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3787:1071:7;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3787:1071:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5509:917;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5509:917:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1931:156;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1931:156:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;1931:156:7;;;;;;;;;;;;;;;;;1352:1028:4;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1352:1028:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4864:639:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4066:519:4;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4066:519:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;4066:519:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;4066:519:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;4066:519:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6432:266:7;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6432:266:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1457:146;1538:15;1577:4;:10;1582:4;1577:10;;;;;;;;;;;;;;;;;:18;;;1569:27;;1457:146;;;:::o;1031:205::-;1105:15;1122;1139:11;1174:4;:10;1179:4;1174:10;;;;;;;;;;;;;;;;;:18;;;1194:4;:10;1199:4;1194:10;;;;;;;;;;;;;;;;;:18;;;1214:4;:10;1219:4;1214:10;;;;;;;;;;;;;;;;;:14;;;1166:63;;;;;;1031:205;;;;;:::o;3162:619::-;3257:12;3311:4;3293:22;;;:4;:10;3298:4;3293:10;;;;;;;;;;;;;;;;;:14;;;:22;;;;;3285:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3406:4;3384:27;;:10;:27;;;;3380:174;;;3435:39;3459:10;3449:21;;;;;;;;;;;;;;;;;;;;;;;;3472:1;3435:13;:39::i;:::-;3427:87;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3380:174;3581:4;3564;:10;3569:4;3564:10;;;;;;;;;;;;;;;;;:14;;:21;;;;;;;3616:8;3595:4;:10;3600:4;3595:10;;;;;;;;;;;;;;;;;:18;;:29;;;;3655:5;3634:4;:10;3639:4;3634:10;;;;;;;;;;;;;;;;;:18;;:26;;;;3671:13;:23;3685:8;3671:23;;;;;;;;;;;3700:4;3671:34;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;3671:34:7;;;;;;;;;;;;;;;;;;;;;;;;;;;3746:5;3736:8;3730:4;3721:31;;;;;;;;;;;;;3770:4;3763:11;;3162:619;;;;;:::o;4935:167:4:-;5030:18;5071:12;:24;5084:10;5071:24;;;;;;;;;;;5064:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4935:167;;;:::o;2819:896::-;2874:12;3336:19;3413:6;2924:4;2902:27;;:10;:27;;;;2898:145;;;2953:39;2977:10;2967:21;;;;;;;;;;;;;;;;;;;;;;;;2990:1;2953:13;:39::i;:::-;2945:87;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2898:145;3183:6;:16;3190:8;3183:16;;;;;;;;;;;;;;;;;:23;;;;;;;;;;;;3058:267;;3106:6;:16;3113:8;3106:16;;;;;;;;;;;;;;;;;:26;;;3084:8;3058:267;;;;3146:6;:16;3153:8;3146:16;;;;;;;;;;;;;;;;;:23;;;3220:6;:16;3227:8;3220:16;;;;;;;;;;;;;;;;;:26;;3260:6;:16;3267:8;3260:16;;;;;;;;;;;;;;;;;:21;;3295:6;:16;3302:8;3295:16;;;;;;;;;;;;;;;;;:20;;3058:267;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3358:12;:40;3371:6;:16;3378:8;3371:16;;;;;;;;;;;;;;;;;:26;;;3358:40;;;;;;;;;;;3336:62;;3422:1;3413:10;;3409:244;3427:9;:16;;;;3425:1;:18;3409:244;;;3483:8;3467:24;;;:9;3477:1;3467:12;;;;;;;;;;;;;;;;;;:24;;;;3464:179;;;3518:9;3528:1;3518:12;;;;;;;;;;;;;;;;;3511:19;;;3563:9;3590:1;3573:9;:16;;;;:18;3563:29;;;;;;;;;;;;;;;;;;3548:9;3558:1;3548:12;;;;;;;;;;;;;;;;;:44;;;;;;;3610:9;:18;;;;;;;;;;;;:::i;:::-;;3464:179;3445:3;;;;;;;3409:244;;;3670:6;:16;3677:8;3670:16;;;;;;;;;;;;;;;;;;3663:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;3704:4;3697:11;;2819:896;;;;;:::o;3787:1071:7:-;3864:12;3900:39;3924:10;3914:21;;;;;;;;;;;;;;;;;;;;;;;;3937:1;3900:13;:39::i;:::-;3892:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4000:3;3991:23;4005:8;3991:23;;;;;;;;;;;;;;;;;;;;;;4041:4;4029:16;;:8;:16;;;4025:806;;;4088:4;4061:10;:15;4072:3;4061:15;;;;;;;;;;;:24;;;:31;;;;;;;;;;;;;;;;;;4116:10;:15;4127:3;4116:15;;;;;;;;;;;:18;;;;;;;;;;;;:23;;4146:10;:15;4157:3;4146:15;;;;;;;;;;;:21;;;4169:10;:15;4180:3;4169:15;;;;;;;;;;;:20;;4191:1;4116:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4106:87;;4211:7;4207:551;;;4265:4;4238:10;:15;4249:3;4238:15;;;;;;;;;;;:24;;;:31;;;;;;;;;;;;;;;;;;4387:10;:15;4398:3;4387:15;;;;;;;;;;;:21;;;4347:10;:15;4358:3;4347:15;;;;;;;;;;;:18;;;;;;;;;;;;4292:176;;4322:3;4292:176;4430:10;:15;4441:3;4430:15;;;;;;;;;;;:20;;4292:176;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4486:7;;4207:551;4638:10;:15;4649:3;4638:15;;;;;;;;;;;:21;;;4598:10;:15;4609:3;4598:15;;;;;;;;;;;:18;;;;;;;;;;;;4536:183;;4573:3;4536:183;4681:10;:15;4692:3;4681:15;;;;;;;;;;;:20;;4536:183;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4737:7;;4025:806;4815:5;4788:10;:15;4799:3;4788:15;;;;;;;;;;;:24;;;:32;;;;;;;;;;;;;;;;;;4847:4;4840:11;;3787:1071;;;;;:::o;5509:917::-;5574:12;6080:17;6148:6;5628:4;5610:22;;;:4;:10;5615:4;5610:10;;;;;;;;;;;;;;;;;:14;;;:22;;;;5602:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5684:4;5662:27;;:10;:27;;;;5658:174;;;5713:39;5737:10;5727:21;;;;;;;;;;;;;;;;;;;;;;;;5750:1;5713:13;:39::i;:::-;5705:87;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5658:174;5893:4;:10;5898:4;5893:10;;;;;;;;;;;;;;;;;:18;;;5873:4;:10;5878:4;5873:10;;;;;;;;;;;;;;;;;:18;;;5857:4;:10;5862:4;5857:10;;;;;;;;;;;;;;;;;:14;;;5846:66;;;;;;;;;;;;;6100:13;:33;6114:4;:10;6119:4;6114:10;;;;;;;;;;;;;;;;;:18;;;6100:33;;;;;;;;;;;6080:53;;6157:1;6148:10;;6144:226;6162:7;:14;;;;6160:1;:16;6144:226;;;6214:4;6200:18;;;:7;6208:1;6200:10;;;;;;;;;;;;;;;;;;:18;;;;6197:163;;;6245:7;6253:1;6245:10;;;;;;;;;;;;;;;;;6238:17;;;6286:7;6309:1;6294:7;:14;;;;:16;6286:25;;;;;;;;;;;;;;;;;;6273:7;6281:1;6273:10;;;;;;;;;;;;;;;;;:38;;;;;;;6329:7;:16;;;;;;;;;;;;:::i;:::-;;6197:163;6178:3;;;;;;;6144:226;;;6387:4;:10;6392:4;6387:10;;;;;;;;;;;;;;;;;;6380:17;;;;;;;;;;;;;;;;;;;;6415:4;6408:11;;5509:917;;;;;:::o;1931:156::-;2019:15;2057:13;:23;2071:8;2057:23;;;;;;;;;;;2050:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1931:156;;;:::o;1352:1028:4:-;1554:22;1592:15;1620:7;1629:10;1610:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1592:48;;1677:4;1655:27;;:10;:27;;;;1651:147;;;1706:39;1730:10;1720:21;;;;;;;;;;;;;;;;;;;;;;;;1743:1;1706:13;:39::i;:::-;1698:89;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1651:147;1838:7;1812:33;;:6;:15;1819:7;1812:15;;;;;;;;;;;;;;;;;:22;;;;;;;;;;;;:33;;;;1808:102;;;1861:12;:24;1874:10;1861:24;;;;;;;;;;;1891:7;1861:38;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;1861:38:4;;;;;;;;;;;;;;;;;;;;;;;;;;;1808:102;1948:10;1920:6;:15;1927:7;1920:15;;;;;;;;;;;;;;;;;:25;;:38;;;;1993:7;1968:6;:15;1975:7;1968:15;;;;;;;;;;;;;;;;;:22;;:32;;;;2035:7;2010:6;:15;2017:7;2010:15;;;;;;;;;;;;;;;;;:22;;;:32;;;;;;;;;;;;;;;;;;2080:10;2052:6;:15;2059:7;2052:15;;;;;;;;;;;;;;;;;:25;;:38;;;;;;;;;;;;:::i;:::-;;2123:5;2100:6;:15;2107:7;2100:15;;;;;;;;;;;;;;;;;:20;;:28;;;;;;;;;;;;:::i;:::-;;2160:4;2138:6;:15;2145:7;2138:15;;;;;;;;;;;;;;;;;:19;;:26;;;;;;;;;;;;:::i;:::-;;2270:7;2180:168;;2225:10;2204:7;2180:168;;;;2249:7;2291:10;2315:5;2334:4;2180:168;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;2180:168:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;2180:168:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;2180:168:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2366:7;2359:14;;1352:1028;;;;;;;;;:::o;4864:639:7:-;4971:19;5015:10;:26;5026:14;;5015:26;;;;;;;;;;;:35;;;;;;;;;;;;5014:36;5006:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5113:3;5081:10;:26;5092:14;;5081:26;;;;;;;;;;;:29;;;:35;;;;;;;;;;;;;;;;;;5161:6;5126:10;:26;5137:14;;5126:26;;;;;;;;;;;:32;;:41;;;;5211:5;5177:10;:26;5188:14;;5177:26;;;;;;;;;;;:31;;:39;;;;;;;;;;;;:::i;:::-;;5272:6;5267:3;5232:54;;5251:14;;5232:54;5280:5;5232:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;5232:54:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5301:38;5325:10;5315:21;;;;;;;;;;;;;;;;;;;;;;;;5337:1;5301:13;:38::i;:::-;:80;;;;5343:38;5367:10;5357:21;;;;;;;;;;;;;;;;;;;;;;;;5379:1;5343:13;:38::i;:::-;5301:80;5297:140;;;5397:29;5405:14;;5421:4;5397:7;:29::i;:::-;;5297:140;5447:14;;:16;;;;;;;;;;;;;5495:1;5480:14;;:16;5473:23;;4864:639;;;;;:::o;4066:519:4:-;4163:17;4194:14;4222;4250:15;4279:10;4303;4359:6;:16;4366:8;4359:16;;;;;;;;;;;;;;;;;:26;;;4399:6;:16;4406:8;4399:16;;;;;;;;;;;;;;;;;:23;;;4436:6;:16;4443:8;4436:16;;;;;;;;;;;;;;;;;:23;;;;;;;;;;;;4473:6;:16;4480:8;4473:16;;;;;;;;;;;;;;;;;:26;;4513:6;:16;4520:8;4513:16;;;;;;;;;;;;;;;;;:21;;4548:6;:16;4555:8;4548:16;;;;;;;;;;;;;;;;;:20;;4338:240;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4066:519;;;;;;;:::o;6432:266:7:-;6531:11;6558:12;6602:1;6584:19;;:4;:10;6589:4;6584:10;;;;;;;;;;;;;;;;;:14;;;:19;;;;6580:37;;;6612:5;6605:12;;;;6580:37;6659:8;6637:4;:10;6642:4;6637:10;;;;;;;;;;;;;;;;;:18;;;:30;;6627:40;;6684:7;6677:14;;6432:266;;;;;;:::o;76:5028:4:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o",
    "source": "pragma solidity ^0.4.24;\n\nimport \"./ERC735.sol\";\nimport \"./KeyHolder.sol\";\n\ncontract ClaimHolder is KeyHolder, ERC735 {\n\n    mapping (bytes32 => Claim) claims;\n    mapping (uint256 => bytes32[]) claimsByType;\n\n /**\n    * @notice Implementation of the addClaim function from the ERC-735 standard\n    *  Require that the msg.sender has claim signer key.\n    *\n    * @param _claimType The type of claim\n    * @param _scheme The scheme with which this claim SHOULD be verified or how it should be processed.\n    * @param _issuer The issuers identity contract address, or the address used to sign the above signature.\n    * @param _signature Signature which is the proof that the claim issuer issued a claim of claimType for this identity.\n    * it MUST be a signed message of the following structure: keccak256(address identityHolder_address, uint256 _ claimType, bytes data)\n    * or keccak256(abi.encode(identityHolder_address, claimType, data))\n    * @param _data The hash of the claim data, sitting in another location, a bit-mask, call data, or actual data based on the claim scheme.\n    * @param _uri The location of the claim, this can be HTTP links, swarm hashes, IPFS hashes, and such.\n    *\n    * @return Returns claimRequestId: COULD be send to the approve function, to approve or reject this claim.\n    * triggers ClaimAdded event.\n    */\n\n    function addClaim(\n        uint256 _claimType,\n        uint256 _scheme,\n        address _issuer,\n        bytes _signature,\n        bytes _data,\n        string _uri\n    )\n        public\n        returns (bytes32 claimRequestId)\n    {\n        bytes32 claimId = keccak256(_issuer, _claimType);\n\n        if (msg.sender != address(this)) {\n            require(keyHasPurpose(keccak256(msg.sender), 3), \"Sender does not have claim signer key\");\n        }\n\n        if (claims[claimId].issuer != _issuer) {\n            claimsByType[_claimType].push(claimId);\n        }\n\n        claims[claimId].claimType = _claimType;\n        claims[claimId].scheme = _scheme;\n        claims[claimId].issuer = _issuer;\n        claims[claimId].signature = _signature;\n        claims[claimId].data = _data;\n        claims[claimId].uri = _uri;\n\n        emit ClaimAdded(\n            claimId,\n            _claimType,\n            _scheme,\n            _issuer,\n            _signature,\n            _data,\n            _uri\n        );\n\n        return claimId;\n    }\n\n /**\n    * @notice Implementation of the removeClaim function from the ERC-735 standard\n    * Require that the msg.sender has management key.\n    * Can only be removed by the claim issuer, or the claim holder itself.\n    *\n    * @param _claimId The identity of the claim i.e. keccak256(address issuer_address + uint256 claimType)\n    *\n    * @return Returns TRUE when the claim was removed.\n    * triggers ClaimRemoved event\n    */\n\n    function removeClaim(bytes32 _claimId) public returns (bool success) {\n        if (msg.sender != address(this)) {\n            require(keyHasPurpose(keccak256(msg.sender), 1), \"Sender does not have management key\");\n        }\n\n        emit ClaimRemoved(\n            _claimId,\n            claims[_claimId].claimType,\n            claims[_claimId].scheme,\n            claims[_claimId].issuer,\n            claims[_claimId].signature,\n            claims[_claimId].data,\n            claims[_claimId].uri\n        );\n\n        bytes32[] claimList = claimsByType[claims[_claimId].claimType];\n\n        for(uint i = 0; i<claimList.length; i++) {\n            if(claimList[i] == _claimId) {\n                delete claimList[i];\n                claimList[i] = claimList[claimList.length-1];\n                claimList.length--;\n            }\n        }\n\n        delete claims[_claimId];\n\n        return true;\n    }\n\n/**\n    * @notice Implementation of the getClaim function from the ERC-735 standard.\n    *\n    * @param _claimId The identity of the claim i.e. keccak256(address issuer_address + uint256 claimType)\n    *\n    * @return Returns all the parameters of the claim for the specified _claimId (claimType, scheme, signature, issuer, data, uri) .\n    */\n\n    function getClaim(bytes32 _claimId)\n        public\n        constant\n        returns(\n            uint256 claimType,\n            uint256 scheme,\n            address issuer,\n            bytes signature,\n            bytes data,\n            string uri\n        )\n    {\n        return (\n            claims[_claimId].claimType,\n            claims[_claimId].scheme,\n            claims[_claimId].issuer,\n            claims[_claimId].signature,\n            claims[_claimId].data,\n            claims[_claimId].uri\n        );\n    }\n\n/**\n    * @notice Implementation of the getClaimIdsByTopic function from the ERC-735 standard.\n    * used to get all the claims from the specified claimType\n    *\n    * @param _claimType The identity of the claim i.e. keccak256(address issuer_address + uint256 claimType)\n    *\n    * @return Returns an array of claim IDs by claimType.\n    */\n\n    function getClaimIdsByType(uint256 _claimType)\n        public\n        constant\n        returns(bytes32[] claimIds)\n    {\n        return claimsByType[_claimType];\n    }\n}\n",
    "sourcePath": "/Users/kevinthizy/Documents/DEV/TokenY/myna-T-REX/contracts/identity/ClaimHolder.sol",
    "ast": {
        "absolutePath": "/Users/kevinthizy/Documents/DEV/TokenY/myna-T-REX/contracts/identity/ClaimHolder.sol",
        "exportedSymbols": {
            "ClaimHolder": [
                454
            ]
        },
        "id": 455,
        "nodeType": "SourceUnit",
        "nodes": [
            {
                "id": 154,
                "literals": [
                    "solidity",
                    "^",
                    "0.4",
                    ".24"
                ],
                "nodeType": "PragmaDirective",
                "src": "0:24:4"
            },
            {
                "absolutePath": "/Users/kevinthizy/Documents/DEV/TokenY/myna-T-REX/contracts/identity/ERC735.sol",
                "file": "./ERC735.sol",
                "id": 155,
                "nodeType": "ImportDirective",
                "scope": 455,
                "sourceUnit": 705,
                "src": "26:22:4",
                "symbolAliases": [],
                "unitAlias": ""
            },
            {
                "absolutePath": "/Users/kevinthizy/Documents/DEV/TokenY/myna-T-REX/contracts/identity/KeyHolder.sol",
                "file": "./KeyHolder.sol",
                "id": 156,
                "nodeType": "ImportDirective",
                "scope": 455,
                "sourceUnit": 1260,
                "src": "49:25:4",
                "symbolAliases": [],
                "unitAlias": ""
            },
            {
                "baseContracts": [
                    {
                        "arguments": null,
                        "baseName": {
                            "contractScope": null,
                            "id": 157,
                            "name": "KeyHolder",
                            "nodeType": "UserDefinedTypeName",
                            "referencedDeclaration": 1259,
                            "src": "100:9:4",
                            "typeDescriptions": {
                                "typeIdentifier": "t_contract$_KeyHolder_$1259",
                                "typeString": "contract KeyHolder"
                            }
                        },
                        "id": 158,
                        "nodeType": "InheritanceSpecifier",
                        "src": "100:9:4"
                    },
                    {
                        "arguments": null,
                        "baseName": {
                            "contractScope": null,
                            "id": 159,
                            "name": "ERC735",
                            "nodeType": "UserDefinedTypeName",
                            "referencedDeclaration": 704,
                            "src": "111:6:4",
                            "typeDescriptions": {
                                "typeIdentifier": "t_contract$_ERC735_$704",
                                "typeString": "contract ERC735"
                            }
                        },
                        "id": 160,
                        "nodeType": "InheritanceSpecifier",
                        "src": "111:6:4"
                    }
                ],
                "contractDependencies": [
                    575,
                    704,
                    1259
                ],
                "contractKind": "contract",
                "documentation": null,
                "fullyImplemented": true,
                "id": 454,
                "linearizedBaseContracts": [
                    454,
                    704,
                    1259,
                    575
                ],
                "name": "ClaimHolder",
                "nodeType": "ContractDefinition",
                "nodes": [
                    {
                        "constant": false,
                        "id": 164,
                        "name": "claims",
                        "nodeType": "VariableDeclaration",
                        "scope": 454,
                        "src": "125:33:4",
                        "stateVariable": true,
                        "storageLocation": "default",
                        "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Claim_$654_storage_$",
                            "typeString": "mapping(bytes32 => struct ERC735.Claim)"
                        },
                        "typeName": {
                            "id": 163,
                            "keyType": {
                                "id": 161,
                                "name": "bytes32",
                                "nodeType": "ElementaryTypeName",
                                "src": "134:7:4",
                                "typeDescriptions": {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                }
                            },
                            "nodeType": "Mapping",
                            "src": "125:26:4",
                            "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Claim_$654_storage_$",
                                "typeString": "mapping(bytes32 => struct ERC735.Claim)"
                            },
                            "valueType": {
                                "contractScope": null,
                                "id": 162,
                                "name": "Claim",
                                "nodeType": "UserDefinedTypeName",
                                "referencedDeclaration": 654,
                                "src": "145:5:4",
                                "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_Claim_$654_storage_ptr",
                                    "typeString": "struct ERC735.Claim"
                                }
                            }
                        },
                        "value": null,
                        "visibility": "internal"
                    },
                    {
                        "constant": false,
                        "id": 169,
                        "name": "claimsByType",
                        "nodeType": "VariableDeclaration",
                        "scope": 454,
                        "src": "164:43:4",
                        "stateVariable": true,
                        "storageLocation": "default",
                        "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_uint256_$_t_array$_t_bytes32_$dyn_storage_$",
                            "typeString": "mapping(uint256 => bytes32[])"
                        },
                        "typeName": {
                            "id": 168,
                            "keyType": {
                                "id": 165,
                                "name": "uint256",
                                "nodeType": "ElementaryTypeName",
                                "src": "173:7:4",
                                "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                }
                            },
                            "nodeType": "Mapping",
                            "src": "164:30:4",
                            "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_uint256_$_t_array$_t_bytes32_$dyn_storage_$",
                                "typeString": "mapping(uint256 => bytes32[])"
                            },
                            "valueType": {
                                "baseType": {
                                    "id": 166,
                                    "name": "bytes32",
                                    "nodeType": "ElementaryTypeName",
                                    "src": "184:7:4",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes32",
                                        "typeString": "bytes32"
                                    }
                                },
                                "id": 167,
                                "length": null,
                                "nodeType": "ArrayTypeName",
                                "src": "184:9:4",
                                "typeDescriptions": {
                                    "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr",
                                    "typeString": "bytes32[]"
                                }
                            }
                        },
                        "value": null,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 281,
                            "nodeType": "Block",
                            "src": "1582:798:4",
                            "statements": [
                                {
                                    "assignments": [
                                        187
                                    ],
                                    "declarations": [
                                        {
                                            "constant": false,
                                            "id": 187,
                                            "name": "claimId",
                                            "nodeType": "VariableDeclaration",
                                            "scope": 282,
                                            "src": "1592:15:4",
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_bytes32",
                                                "typeString": "bytes32"
                                            },
                                            "typeName": {
                                                "id": 186,
                                                "name": "bytes32",
                                                "nodeType": "ElementaryTypeName",
                                                "src": "1592:7:4",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes32",
                                                    "typeString": "bytes32"
                                                }
                                            },
                                            "value": null,
                                            "visibility": "internal"
                                        }
                                    ],
                                    "id": 192,
                                    "initialValue": {
                                        "argumentTypes": null,
                                        "arguments": [
                                            {
                                                "argumentTypes": null,
                                                "id": 189,
                                                "name": "_issuer",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 175,
                                                "src": "1620:7:4",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_address",
                                                    "typeString": "address"
                                                }
                                            },
                                            {
                                                "argumentTypes": null,
                                                "id": 190,
                                                "name": "_claimType",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 171,
                                                "src": "1629:10:4",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_address",
                                                    "typeString": "address"
                                                },
                                                {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                }
                                            ],
                                            "id": 188,
                                            "name": "keccak256",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 3554,
                                            "src": "1610:9:4",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
                                                "typeString": "function () pure returns (bytes32)"
                                            }
                                        },
                                        "id": 191,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "1610:30:4",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                        }
                                    },
                                    "nodeType": "VariableDeclarationStatement",
                                    "src": "1592:48:4"
                                },
                                {
                                    "condition": {
                                        "argumentTypes": null,
                                        "commonType": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        },
                                        "id": 198,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "leftExpression": {
                                            "argumentTypes": null,
                                            "expression": {
                                                "argumentTypes": null,
                                                "id": 193,
                                                "name": "msg",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 3560,
                                                "src": "1655:3:4",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_magic_message",
                                                    "typeString": "msg"
                                                }
                                            },
                                            "id": 194,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "memberName": "sender",
                                            "nodeType": "MemberAccess",
                                            "referencedDeclaration": null,
                                            "src": "1655:10:4",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_address",
                                                "typeString": "address"
                                            }
                                        },
                                        "nodeType": "BinaryOperation",
                                        "operator": "!=",
                                        "rightExpression": {
                                            "argumentTypes": null,
                                            "arguments": [
                                                {
                                                    "argumentTypes": null,
                                                    "id": 196,
                                                    "name": "this",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 3585,
                                                    "src": "1677:4:4",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_contract$_ClaimHolder_$454",
                                                        "typeString": "contract ClaimHolder"
                                                    }
                                                }
                                            ],
                                            "expression": {
                                                "argumentTypes": [
                                                    {
                                                        "typeIdentifier": "t_contract$_ClaimHolder_$454",
                                                        "typeString": "contract ClaimHolder"
                                                    }
                                                ],
                                                "id": 195,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": true,
                                                "lValueRequested": false,
                                                "nodeType": "ElementaryTypeNameExpression",
                                                "src": "1669:7:4",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_type$_t_address_$",
                                                    "typeString": "type(address)"
                                                },
                                                "typeName": "address"
                                            },
                                            "id": 197,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "kind": "typeConversion",
                                            "lValueRequested": false,
                                            "names": [],
                                            "nodeType": "FunctionCall",
                                            "src": "1669:13:4",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_address",
                                                "typeString": "address"
                                            }
                                        },
                                        "src": "1655:27:4",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "falseBody": null,
                                    "id": 211,
                                    "nodeType": "IfStatement",
                                    "src": "1651:147:4",
                                    "trueBody": {
                                        "id": 210,
                                        "nodeType": "Block",
                                        "src": "1684:114:4",
                                        "statements": [
                                            {
                                                "expression": {
                                                    "argumentTypes": null,
                                                    "arguments": [
                                                        {
                                                            "argumentTypes": null,
                                                            "arguments": [
                                                                {
                                                                    "argumentTypes": null,
                                                                    "arguments": [
                                                                        {
                                                                            "argumentTypes": null,
                                                                            "expression": {
                                                                                "argumentTypes": null,
                                                                                "id": 202,
                                                                                "name": "msg",
                                                                                "nodeType": "Identifier",
                                                                                "overloadedDeclarations": [],
                                                                                "referencedDeclaration": 3560,
                                                                                "src": "1730:3:4",
                                                                                "typeDescriptions": {
                                                                                    "typeIdentifier": "t_magic_message",
                                                                                    "typeString": "msg"
                                                                                }
                                                                            },
                                                                            "id": 203,
                                                                            "isConstant": false,
                                                                            "isLValue": false,
                                                                            "isPure": false,
                                                                            "lValueRequested": false,
                                                                            "memberName": "sender",
                                                                            "nodeType": "MemberAccess",
                                                                            "referencedDeclaration": null,
                                                                            "src": "1730:10:4",
                                                                            "typeDescriptions": {
                                                                                "typeIdentifier": "t_address",
                                                                                "typeString": "address"
                                                                            }
                                                                        }
                                                                    ],
                                                                    "expression": {
                                                                        "argumentTypes": [
                                                                            {
                                                                                "typeIdentifier": "t_address",
                                                                                "typeString": "address"
                                                                            }
                                                                        ],
                                                                        "id": 201,
                                                                        "name": "keccak256",
                                                                        "nodeType": "Identifier",
                                                                        "overloadedDeclarations": [],
                                                                        "referencedDeclaration": 3554,
                                                                        "src": "1720:9:4",
                                                                        "typeDescriptions": {
                                                                            "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
                                                                            "typeString": "function () pure returns (bytes32)"
                                                                        }
                                                                    },
                                                                    "id": 204,
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": false,
                                                                    "kind": "functionCall",
                                                                    "lValueRequested": false,
                                                                    "names": [],
                                                                    "nodeType": "FunctionCall",
                                                                    "src": "1720:21:4",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_bytes32",
                                                                        "typeString": "bytes32"
                                                                    }
                                                                },
                                                                {
                                                                    "argumentTypes": null,
                                                                    "hexValue": "33",
                                                                    "id": 205,
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": true,
                                                                    "kind": "number",
                                                                    "lValueRequested": false,
                                                                    "nodeType": "Literal",
                                                                    "src": "1743:1:4",
                                                                    "subdenomination": null,
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_rational_3_by_1",
                                                                        "typeString": "int_const 3"
                                                                    },
                                                                    "value": "3"
                                                                }
                                                            ],
                                                            "expression": {
                                                                "argumentTypes": [
                                                                    {
                                                                        "typeIdentifier": "t_bytes32",
                                                                        "typeString": "bytes32"
                                                                    },
                                                                    {
                                                                        "typeIdentifier": "t_rational_3_by_1",
                                                                        "typeString": "int_const 3"
                                                                    }
                                                                ],
                                                                "id": 200,
                                                                "name": "keyHasPurpose",
                                                                "nodeType": "Identifier",
                                                                "overloadedDeclarations": [],
                                                                "referencedDeclaration": 1258,
                                                                "src": "1706:13:4",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_uint256_$returns$_t_bool_$",
                                                                    "typeString": "function (bytes32,uint256) view returns (bool)"
                                                                }
                                                            },
                                                            "id": 206,
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": false,
                                                            "kind": "functionCall",
                                                            "lValueRequested": false,
                                                            "names": [],
                                                            "nodeType": "FunctionCall",
                                                            "src": "1706:39:4",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_bool",
                                                                "typeString": "bool"
                                                            }
                                                        },
                                                        {
                                                            "argumentTypes": null,
                                                            "hexValue": "53656e64657220646f6573206e6f74206861766520636c61696d207369676e6572206b6579",
                                                            "id": 207,
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": true,
                                                            "kind": "string",
                                                            "lValueRequested": false,
                                                            "nodeType": "Literal",
                                                            "src": "1747:39:4",
                                                            "subdenomination": null,
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_stringliteral_43a05665781b32cc8024b11b99adbd97618bb3fd5a923c29ee6dfc9548ed823a",
                                                                "typeString": "literal_string \"Sender does not have claim signer key\""
                                                            },
                                                            "value": "Sender does not have claim signer key"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "argumentTypes": [
                                                            {
                                                                "typeIdentifier": "t_bool",
                                                                "typeString": "bool"
                                                            },
                                                            {
                                                                "typeIdentifier": "t_stringliteral_43a05665781b32cc8024b11b99adbd97618bb3fd5a923c29ee6dfc9548ed823a",
                                                                "typeString": "literal_string \"Sender does not have claim signer key\""
                                                            }
                                                        ],
                                                        "id": 199,
                                                        "name": "require",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [
                                                            3563,
                                                            3564
                                                        ],
                                                        "referencedDeclaration": 3564,
                                                        "src": "1698:7:4",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                                                            "typeString": "function (bool,string memory) pure"
                                                        }
                                                    },
                                                    "id": 208,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "kind": "functionCall",
                                                    "lValueRequested": false,
                                                    "names": [],
                                                    "nodeType": "FunctionCall",
                                                    "src": "1698:89:4",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_tuple$__$",
                                                        "typeString": "tuple()"
                                                    }
                                                },
                                                "id": 209,
                                                "nodeType": "ExpressionStatement",
                                                "src": "1698:89:4"
                                            }
                                        ]
                                    }
                                },
                                {
                                    "condition": {
                                        "argumentTypes": null,
                                        "commonType": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        },
                                        "id": 217,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "leftExpression": {
                                            "argumentTypes": null,
                                            "expression": {
                                                "argumentTypes": null,
                                                "baseExpression": {
                                                    "argumentTypes": null,
                                                    "id": 212,
                                                    "name": "claims",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 164,
                                                    "src": "1812:6:4",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Claim_$654_storage_$",
                                                        "typeString": "mapping(bytes32 => struct ERC735.Claim storage ref)"
                                                    }
                                                },
                                                "id": 214,
                                                "indexExpression": {
                                                    "argumentTypes": null,
                                                    "id": 213,
                                                    "name": "claimId",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 187,
                                                    "src": "1819:7:4",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_bytes32",
                                                        "typeString": "bytes32"
                                                    }
                                                },
                                                "isConstant": false,
                                                "isLValue": true,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "nodeType": "IndexAccess",
                                                "src": "1812:15:4",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_struct$_Claim_$654_storage",
                                                    "typeString": "struct ERC735.Claim storage ref"
                                                }
                                            },
                                            "id": 215,
                                            "isConstant": false,
                                            "isLValue": true,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "memberName": "issuer",
                                            "nodeType": "MemberAccess",
                                            "referencedDeclaration": 647,
                                            "src": "1812:22:4",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_address",
                                                "typeString": "address"
                                            }
                                        },
                                        "nodeType": "BinaryOperation",
                                        "operator": "!=",
                                        "rightExpression": {
                                            "argumentTypes": null,
                                            "id": 216,
                                            "name": "_issuer",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 175,
                                            "src": "1838:7:4",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_address",
                                                "typeString": "address"
                                            }
                                        },
                                        "src": "1812:33:4",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "falseBody": null,
                                    "id": 226,
                                    "nodeType": "IfStatement",
                                    "src": "1808:102:4",
                                    "trueBody": {
                                        "id": 225,
                                        "nodeType": "Block",
                                        "src": "1847:63:4",
                                        "statements": [
                                            {
                                                "expression": {
                                                    "argumentTypes": null,
                                                    "arguments": [
                                                        {
                                                            "argumentTypes": null,
                                                            "id": 222,
                                                            "name": "claimId",
                                                            "nodeType": "Identifier",
                                                            "overloadedDeclarations": [],
                                                            "referencedDeclaration": 187,
                                                            "src": "1891:7:4",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_bytes32",
                                                                "typeString": "bytes32"
                                                            }
                                                        }
                                                    ],
                                                    "expression": {
                                                        "argumentTypes": [
                                                            {
                                                                "typeIdentifier": "t_bytes32",
                                                                "typeString": "bytes32"
                                                            }
                                                        ],
                                                        "expression": {
                                                            "argumentTypes": null,
                                                            "baseExpression": {
                                                                "argumentTypes": null,
                                                                "id": 218,
                                                                "name": "claimsByType",
                                                                "nodeType": "Identifier",
                                                                "overloadedDeclarations": [],
                                                                "referencedDeclaration": 169,
                                                                "src": "1861:12:4",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_mapping$_t_uint256_$_t_array$_t_bytes32_$dyn_storage_$",
                                                                    "typeString": "mapping(uint256 => bytes32[] storage ref)"
                                                                }
                                                            },
                                                            "id": 220,
                                                            "indexExpression": {
                                                                "argumentTypes": null,
                                                                "id": 219,
                                                                "name": "_claimType",
                                                                "nodeType": "Identifier",
                                                                "overloadedDeclarations": [],
                                                                "referencedDeclaration": 171,
                                                                "src": "1874:10:4",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_uint256",
                                                                    "typeString": "uint256"
                                                                }
                                                            },
                                                            "isConstant": false,
                                                            "isLValue": true,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "nodeType": "IndexAccess",
                                                            "src": "1861:24:4",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_array$_t_bytes32_$dyn_storage",
                                                                "typeString": "bytes32[] storage ref"
                                                            }
                                                        },
                                                        "id": 221,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": false,
                                                        "lValueRequested": false,
                                                        "memberName": "push",
                                                        "nodeType": "MemberAccess",
                                                        "referencedDeclaration": null,
                                                        "src": "1861:29:4",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_function_arraypush_nonpayable$_t_bytes32_$returns$_t_uint256_$",
                                                            "typeString": "function (bytes32) returns (uint256)"
                                                        }
                                                    },
                                                    "id": 223,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "kind": "functionCall",
                                                    "lValueRequested": false,
                                                    "names": [],
                                                    "nodeType": "FunctionCall",
                                                    "src": "1861:38:4",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_uint256",
                                                        "typeString": "uint256"
                                                    }
                                                },
                                                "id": 224,
                                                "nodeType": "ExpressionStatement",
                                                "src": "1861:38:4"
                                            }
                                        ]
                                    }
                                },
                                {
                                    "expression": {
                                        "argumentTypes": null,
                                        "id": 232,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "leftHandSide": {
                                            "argumentTypes": null,
                                            "expression": {
                                                "argumentTypes": null,
                                                "baseExpression": {
                                                    "argumentTypes": null,
                                                    "id": 227,
                                                    "name": "claims",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 164,
                                                    "src": "1920:6:4",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Claim_$654_storage_$",
                                                        "typeString": "mapping(bytes32 => struct ERC735.Claim storage ref)"
                                                    }
                                                },
                                                "id": 229,
                                                "indexExpression": {
                                                    "argumentTypes": null,
                                                    "id": 228,
                                                    "name": "claimId",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 187,
                                                    "src": "1927:7:4",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_bytes32",
                                                        "typeString": "bytes32"
                                                    }
                                                },
                                                "isConstant": false,
                                                "isLValue": true,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "nodeType": "IndexAccess",
                                                "src": "1920:15:4",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_struct$_Claim_$654_storage",
                                                    "typeString": "struct ERC735.Claim storage ref"
                                                }
                                            },
                                            "id": 230,
                                            "isConstant": false,
                                            "isLValue": true,
                                            "isPure": false,
                                            "lValueRequested": true,
                                            "memberName": "claimType",
                                            "nodeType": "MemberAccess",
                                            "referencedDeclaration": 643,
                                            "src": "1920:25:4",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                            }
                                        },
                                        "nodeType": "Assignment",
                                        "operator": "=",
                                        "rightHandSide": {
                                            "argumentTypes": null,
                                            "id": 231,
                                            "name": "_claimType",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 171,
                                            "src": "1948:10:4",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                            }
                                        },
                                        "src": "1920:38:4",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "id": 233,
                                    "nodeType": "ExpressionStatement",
                                    "src": "1920:38:4"
                                },
                                {
                                    "expression": {
                                        "argumentTypes": null,
                                        "id": 239,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "leftHandSide": {
                                            "argumentTypes": null,
                                            "expression": {
                                                "argumentTypes": null,
                                                "baseExpression": {
                                                    "argumentTypes": null,
                                                    "id": 234,
                                                    "name": "claims",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 164,
                                                    "src": "1968:6:4",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Claim_$654_storage_$",
                                                        "typeString": "mapping(bytes32 => struct ERC735.Claim storage ref)"
                                                    }
                                                },
                                                "id": 236,
                                                "indexExpression": {
                                                    "argumentTypes": null,
                                                    "id": 235,
                                                    "name": "claimId",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 187,
                                                    "src": "1975:7:4",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_bytes32",
                                                        "typeString": "bytes32"
                                                    }
                                                },
                                                "isConstant": false,
                                                "isLValue": true,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "nodeType": "IndexAccess",
                                                "src": "1968:15:4",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_struct$_Claim_$654_storage",
                                                    "typeString": "struct ERC735.Claim storage ref"
                                                }
                                            },
                                            "id": 237,
                                            "isConstant": false,
                                            "isLValue": true,
                                            "isPure": false,
                                            "lValueRequested": true,
                                            "memberName": "scheme",
                                            "nodeType": "MemberAccess",
                                            "referencedDeclaration": 645,
                                            "src": "1968:22:4",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                            }
                                        },
                                        "nodeType": "Assignment",
                                        "operator": "=",
                                        "rightHandSide": {
                                            "argumentTypes": null,
                                            "id": 238,
                                            "name": "_scheme",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 173,
                                            "src": "1993:7:4",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                            }
                                        },
                                        "src": "1968:32:4",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "id": 240,
                                    "nodeType": "ExpressionStatement",
                                    "src": "1968:32:4"
                                },
                                {
                                    "expression": {
                                        "argumentTypes": null,
                                        "id": 246,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "leftHandSide": {
                                            "argumentTypes": null,
                                            "expression": {
                                                "argumentTypes": null,
                                                "baseExpression": {
                                                    "argumentTypes": null,
                                                    "id": 241,
                                                    "name": "claims",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 164,
                                                    "src": "2010:6:4",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Claim_$654_storage_$",
                                                        "typeString": "mapping(bytes32 => struct ERC735.Claim storage ref)"
                                                    }
                                                },
                                                "id": 243,
                                                "indexExpression": {
                                                    "argumentTypes": null,
                                                    "id": 242,
                                                    "name": "claimId",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 187,
                                                    "src": "2017:7:4",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_bytes32",
                                                        "typeString": "bytes32"
                                                    }
                                                },
                                                "isConstant": false,
                                                "isLValue": true,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "nodeType": "IndexAccess",
                                                "src": "2010:15:4",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_struct$_Claim_$654_storage",
                                                    "typeString": "struct ERC735.Claim storage ref"
                                                }
                                            },
                                            "id": 244,
                                            "isConstant": false,
                                            "isLValue": true,
                                            "isPure": false,
                                            "lValueRequested": true,
                                            "memberName": "issuer",
                                            "nodeType": "MemberAccess",
                                            "referencedDeclaration": 647,
                                            "src": "2010:22:4",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_address",
                                                "typeString": "address"
                                            }
                                        },
                                        "nodeType": "Assignment",
                                        "operator": "=",
                                        "rightHandSide": {
                                            "argumentTypes": null,
                                            "id": 245,
                                            "name": "_issuer",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 175,
                                            "src": "2035:7:4",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_address",
                                                "typeString": "address"
                                            }
                                        },
                                        "src": "2010:32:4",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "id": 247,
                                    "nodeType": "ExpressionStatement",
                                    "src": "2010:32:4"
                                },
                                {
                                    "expression": {
                                        "argumentTypes": null,
                                        "id": 253,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "leftHandSide": {
                                            "argumentTypes": null,
                                            "expression": {
                                                "argumentTypes": null,
                                                "baseExpression": {
                                                    "argumentTypes": null,
                                                    "id": 248,
                                                    "name": "claims",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 164,
                                                    "src": "2052:6:4",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Claim_$654_storage_$",
                                                        "typeString": "mapping(bytes32 => struct ERC735.Claim storage ref)"
                                                    }
                                                },
                                                "id": 250,
                                                "indexExpression": {
                                                    "argumentTypes": null,
                                                    "id": 249,
                                                    "name": "claimId",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 187,
                                                    "src": "2059:7:4",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_bytes32",
                                                        "typeString": "bytes32"
                                                    }
                                                },
                                                "isConstant": false,
                                                "isLValue": true,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "nodeType": "IndexAccess",
                                                "src": "2052:15:4",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_struct$_Claim_$654_storage",
                                                    "typeString": "struct ERC735.Claim storage ref"
                                                }
                                            },
                                            "id": 251,
                                            "isConstant": false,
                                            "isLValue": true,
                                            "isPure": false,
                                            "lValueRequested": true,
                                            "memberName": "signature",
                                            "nodeType": "MemberAccess",
                                            "referencedDeclaration": 649,
                                            "src": "2052:25:4",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_bytes_storage",
                                                "typeString": "bytes storage ref"
                                            }
                                        },
                                        "nodeType": "Assignment",
                                        "operator": "=",
                                        "rightHandSide": {
                                            "argumentTypes": null,
                                            "id": 252,
                                            "name": "_signature",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 177,
                                            "src": "2080:10:4",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_bytes_memory_ptr",
                                                "typeString": "bytes memory"
                                            }
                                        },
                                        "src": "2052:38:4",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes_storage",
                                            "typeString": "bytes storage ref"
                                        }
                                    },
                                    "id": 254,
                                    "nodeType": "ExpressionStatement",
                                    "src": "2052:38:4"
                                },
                                {
                                    "expression": {
                                        "argumentTypes": null,
                                        "id": 260,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "leftHandSide": {
                                            "argumentTypes": null,
                                            "expression": {
                                                "argumentTypes": null,
                                                "baseExpression": {
                                                    "argumentTypes": null,
                                                    "id": 255,
                                                    "name": "claims",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 164,
                                                    "src": "2100:6:4",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Claim_$654_storage_$",
                                                        "typeString": "mapping(bytes32 => struct ERC735.Claim storage ref)"
                                                    }
                                                },
                                                "id": 257,
                                                "indexExpression": {
                                                    "argumentTypes": null,
                                                    "id": 256,
                                                    "name": "claimId",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 187,
                                                    "src": "2107:7:4",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_bytes32",
                                                        "typeString": "bytes32"
                                                    }
                                                },
                                                "isConstant": false,
                                                "isLValue": true,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "nodeType": "IndexAccess",
                                                "src": "2100:15:4",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_struct$_Claim_$654_storage",
                                                    "typeString": "struct ERC735.Claim storage ref"
                                                }
                                            },
                                            "id": 258,
                                            "isConstant": false,
                                            "isLValue": true,
                                            "isPure": false,
                                            "lValueRequested": true,
                                            "memberName": "data",
                                            "nodeType": "MemberAccess",
                                            "referencedDeclaration": 651,
                                            "src": "2100:20:4",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_bytes_storage",
                                                "typeString": "bytes storage ref"
                                            }
                                        },
                                        "nodeType": "Assignment",
                                        "operator": "=",
                                        "rightHandSide": {
                                            "argumentTypes": null,
                                            "id": 259,
                                            "name": "_data",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 179,
                                            "src": "2123:5:4",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_bytes_memory_ptr",
                                                "typeString": "bytes memory"
                                            }
                                        },
                                        "src": "2100:28:4",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes_storage",
                                            "typeString": "bytes storage ref"
                                        }
                                    },
                                    "id": 261,
                                    "nodeType": "ExpressionStatement",
                                    "src": "2100:28:4"
                                },
                                {
                                    "expression": {
                                        "argumentTypes": null,
                                        "id": 267,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "leftHandSide": {
                                            "argumentTypes": null,
                                            "expression": {
                                                "argumentTypes": null,
                                                "baseExpression": {
                                                    "argumentTypes": null,
                                                    "id": 262,
                                                    "name": "claims",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 164,
                                                    "src": "2138:6:4",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Claim_$654_storage_$",
                                                        "typeString": "mapping(bytes32 => struct ERC735.Claim storage ref)"
                                                    }
                                                },
                                                "id": 264,
                                                "indexExpression": {
                                                    "argumentTypes": null,
                                                    "id": 263,
                                                    "name": "claimId",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 187,
                                                    "src": "2145:7:4",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_bytes32",
                                                        "typeString": "bytes32"
                                                    }
                                                },
                                                "isConstant": false,
                                                "isLValue": true,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "nodeType": "IndexAccess",
                                                "src": "2138:15:4",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_struct$_Claim_$654_storage",
                                                    "typeString": "struct ERC735.Claim storage ref"
                                                }
                                            },
                                            "id": 265,
                                            "isConstant": false,
                                            "isLValue": true,
                                            "isPure": false,
                                            "lValueRequested": true,
                                            "memberName": "uri",
                                            "nodeType": "MemberAccess",
                                            "referencedDeclaration": 653,
                                            "src": "2138:19:4",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_string_storage",
                                                "typeString": "string storage ref"
                                            }
                                        },
                                        "nodeType": "Assignment",
                                        "operator": "=",
                                        "rightHandSide": {
                                            "argumentTypes": null,
                                            "id": 266,
                                            "name": "_uri",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 181,
                                            "src": "2160:4:4",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_string_memory_ptr",
                                                "typeString": "string memory"
                                            }
                                        },
                                        "src": "2138:26:4",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage",
                                            "typeString": "string storage ref"
                                        }
                                    },
                                    "id": 268,
                                    "nodeType": "ExpressionStatement",
                                    "src": "2138:26:4"
                                },
                                {
                                    "eventCall": {
                                        "argumentTypes": null,
                                        "arguments": [
                                            {
                                                "argumentTypes": null,
                                                "id": 270,
                                                "name": "claimId",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 187,
                                                "src": "2204:7:4",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes32",
                                                    "typeString": "bytes32"
                                                }
                                            },
                                            {
                                                "argumentTypes": null,
                                                "id": 271,
                                                "name": "_claimType",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 171,
                                                "src": "2225:10:4",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                }
                                            },
                                            {
                                                "argumentTypes": null,
                                                "id": 272,
                                                "name": "_scheme",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 173,
                                                "src": "2249:7:4",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                }
                                            },
                                            {
                                                "argumentTypes": null,
                                                "id": 273,
                                                "name": "_issuer",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 175,
                                                "src": "2270:7:4",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_address",
                                                    "typeString": "address"
                                                }
                                            },
                                            {
                                                "argumentTypes": null,
                                                "id": 274,
                                                "name": "_signature",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 177,
                                                "src": "2291:10:4",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            },
                                            {
                                                "argumentTypes": null,
                                                "id": 275,
                                                "name": "_data",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 179,
                                                "src": "2315:5:4",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            },
                                            {
                                                "argumentTypes": null,
                                                "id": 276,
                                                "name": "_uri",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 181,
                                                "src": "2334:4:4",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_string_memory_ptr",
                                                    "typeString": "string memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes32",
                                                    "typeString": "bytes32"
                                                },
                                                {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                },
                                                {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                },
                                                {
                                                    "typeIdentifier": "t_address",
                                                    "typeString": "address"
                                                },
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                },
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                },
                                                {
                                                    "typeIdentifier": "t_string_memory_ptr",
                                                    "typeString": "string memory"
                                                }
                                            ],
                                            "id": 269,
                                            "name": "ClaimAdded",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 609,
                                            "src": "2180:10:4",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$_t_uint256_$_t_address_$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes32,uint256,uint256,address,bytes memory,bytes memory,string memory)"
                                            }
                                        },
                                        "id": 277,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "2180:168:4",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 278,
                                    "nodeType": "EmitStatement",
                                    "src": "2175:173:4"
                                },
                                {
                                    "expression": {
                                        "argumentTypes": null,
                                        "id": 279,
                                        "name": "claimId",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 187,
                                        "src": "2366:7:4",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                        }
                                    },
                                    "functionReturnParameters": 185,
                                    "id": 280,
                                    "nodeType": "Return",
                                    "src": "2359:14:4"
                                }
                            ]
                        },
                        "documentation": "@notice Implementation of the addClaim function from the ERC-735 standard\n Require that the msg.sender has claim signer key.\n    * @param _claimType The type of claim\n@param _scheme The scheme with which this claim SHOULD be verified or how it should be processed.\n@param _issuer The issuers identity contract address, or the address used to sign the above signature.\n@param _signature Signature which is the proof that the claim issuer issued a claim of claimType for this identity.\nit MUST be a signed message of the following structure: keccak256(address identityHolder_address, uint256 _ claimType, bytes data)\nor keccak256(abi.encode(identityHolder_address, claimType, data))\n@param _data The hash of the claim data, sitting in another location, a bit-mask, call data, or actual data based on the claim scheme.\n@param _uri The location of the claim, this can be HTTP links, swarm hashes, IPFS hashes, and such.\n    * @return Returns claimRequestId: COULD be send to the approve function, to approve or reject this claim.\ntriggers ClaimAdded event.",
                        "id": 282,
                        "implemented": true,
                        "isConstructor": false,
                        "isDeclaredConst": false,
                        "modifiers": [],
                        "name": "addClaim",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 182,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 171,
                                    "name": "_claimType",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 282,
                                    "src": "1379:18:4",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 170,
                                        "name": "uint256",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "1379:7:4",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 173,
                                    "name": "_scheme",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 282,
                                    "src": "1407:15:4",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 172,
                                        "name": "uint256",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "1407:7:4",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 175,
                                    "name": "_issuer",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 282,
                                    "src": "1432:15:4",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 174,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "1432:7:4",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 177,
                                    "name": "_signature",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 282,
                                    "src": "1457:16:4",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes_memory_ptr",
                                        "typeString": "bytes"
                                    },
                                    "typeName": {
                                        "id": 176,
                                        "name": "bytes",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "1457:5:4",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes_storage_ptr",
                                            "typeString": "bytes"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 179,
                                    "name": "_data",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 282,
                                    "src": "1483:11:4",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes_memory_ptr",
                                        "typeString": "bytes"
                                    },
                                    "typeName": {
                                        "id": 178,
                                        "name": "bytes",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "1483:5:4",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes_storage_ptr",
                                            "typeString": "bytes"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 181,
                                    "name": "_uri",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 282,
                                    "src": "1504:11:4",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 180,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "1504:6:4",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                }
                            ],
                            "src": "1369:152:4"
                        },
                        "payable": false,
                        "returnParameters": {
                            "id": 185,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 184,
                                    "name": "claimRequestId",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 282,
                                    "src": "1554:22:4",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes32",
                                        "typeString": "bytes32"
                                    },
                                    "typeName": {
                                        "id": 183,
                                        "name": "bytes32",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "1554:7:4",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                }
                            ],
                            "src": "1553:24:4"
                        },
                        "scope": 454,
                        "src": "1352:1028:4",
                        "stateMutability": "nonpayable",
                        "superFunction": 696,
                        "visibility": "public"
                    },
                    {
                        "body": {
                            "id": 395,
                            "nodeType": "Block",
                            "src": "2888:827:4",
                            "statements": [
                                {
                                    "condition": {
                                        "argumentTypes": null,
                                        "commonType": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        },
                                        "id": 294,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "leftExpression": {
                                            "argumentTypes": null,
                                            "expression": {
                                                "argumentTypes": null,
                                                "id": 289,
                                                "name": "msg",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 3560,
                                                "src": "2902:3:4",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_magic_message",
                                                    "typeString": "msg"
                                                }
                                            },
                                            "id": 290,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "memberName": "sender",
                                            "nodeType": "MemberAccess",
                                            "referencedDeclaration": null,
                                            "src": "2902:10:4",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_address",
                                                "typeString": "address"
                                            }
                                        },
                                        "nodeType": "BinaryOperation",
                                        "operator": "!=",
                                        "rightExpression": {
                                            "argumentTypes": null,
                                            "arguments": [
                                                {
                                                    "argumentTypes": null,
                                                    "id": 292,
                                                    "name": "this",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 3585,
                                                    "src": "2924:4:4",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_contract$_ClaimHolder_$454",
                                                        "typeString": "contract ClaimHolder"
                                                    }
                                                }
                                            ],
                                            "expression": {
                                                "argumentTypes": [
                                                    {
                                                        "typeIdentifier": "t_contract$_ClaimHolder_$454",
                                                        "typeString": "contract ClaimHolder"
                                                    }
                                                ],
                                                "id": 291,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": true,
                                                "lValueRequested": false,
                                                "nodeType": "ElementaryTypeNameExpression",
                                                "src": "2916:7:4",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_type$_t_address_$",
                                                    "typeString": "type(address)"
                                                },
                                                "typeName": "address"
                                            },
                                            "id": 293,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "kind": "typeConversion",
                                            "lValueRequested": false,
                                            "names": [],
                                            "nodeType": "FunctionCall",
                                            "src": "2916:13:4",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_address",
                                                "typeString": "address"
                                            }
                                        },
                                        "src": "2902:27:4",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "falseBody": null,
                                    "id": 307,
                                    "nodeType": "IfStatement",
                                    "src": "2898:145:4",
                                    "trueBody": {
                                        "id": 306,
                                        "nodeType": "Block",
                                        "src": "2931:112:4",
                                        "statements": [
                                            {
                                                "expression": {
                                                    "argumentTypes": null,
                                                    "arguments": [
                                                        {
                                                            "argumentTypes": null,
                                                            "arguments": [
                                                                {
                                                                    "argumentTypes": null,
                                                                    "arguments": [
                                                                        {
                                                                            "argumentTypes": null,
                                                                            "expression": {
                                                                                "argumentTypes": null,
                                                                                "id": 298,
                                                                                "name": "msg",
                                                                                "nodeType": "Identifier",
                                                                                "overloadedDeclarations": [],
                                                                                "referencedDeclaration": 3560,
                                                                                "src": "2977:3:4",
                                                                                "typeDescriptions": {
                                                                                    "typeIdentifier": "t_magic_message",
                                                                                    "typeString": "msg"
                                                                                }
                                                                            },
                                                                            "id": 299,
                                                                            "isConstant": false,
                                                                            "isLValue": false,
                                                                            "isPure": false,
                                                                            "lValueRequested": false,
                                                                            "memberName": "sender",
                                                                            "nodeType": "MemberAccess",
                                                                            "referencedDeclaration": null,
                                                                            "src": "2977:10:4",
                                                                            "typeDescriptions": {
                                                                                "typeIdentifier": "t_address",
                                                                                "typeString": "address"
                                                                            }
                                                                        }
                                                                    ],
                                                                    "expression": {
                                                                        "argumentTypes": [
                                                                            {
                                                                                "typeIdentifier": "t_address",
                                                                                "typeString": "address"
                                                                            }
                                                                        ],
                                                                        "id": 297,
                                                                        "name": "keccak256",
                                                                        "nodeType": "Identifier",
                                                                        "overloadedDeclarations": [],
                                                                        "referencedDeclaration": 3554,
                                                                        "src": "2967:9:4",
                                                                        "typeDescriptions": {
                                                                            "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
                                                                            "typeString": "function () pure returns (bytes32)"
                                                                        }
                                                                    },
                                                                    "id": 300,
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": false,
                                                                    "kind": "functionCall",
                                                                    "lValueRequested": false,
                                                                    "names": [],
                                                                    "nodeType": "FunctionCall",
                                                                    "src": "2967:21:4",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_bytes32",
                                                                        "typeString": "bytes32"
                                                                    }
                                                                },
                                                                {
                                                                    "argumentTypes": null,
                                                                    "hexValue": "31",
                                                                    "id": 301,
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": true,
                                                                    "kind": "number",
                                                                    "lValueRequested": false,
                                                                    "nodeType": "Literal",
                                                                    "src": "2990:1:4",
                                                                    "subdenomination": null,
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_rational_1_by_1",
                                                                        "typeString": "int_const 1"
                                                                    },
                                                                    "value": "1"
                                                                }
                                                            ],
                                                            "expression": {
                                                                "argumentTypes": [
                                                                    {
                                                                        "typeIdentifier": "t_bytes32",
                                                                        "typeString": "bytes32"
                                                                    },
                                                                    {
                                                                        "typeIdentifier": "t_rational_1_by_1",
                                                                        "typeString": "int_const 1"
                                                                    }
                                                                ],
                                                                "id": 296,
                                                                "name": "keyHasPurpose",
                                                                "nodeType": "Identifier",
                                                                "overloadedDeclarations": [],
                                                                "referencedDeclaration": 1258,
                                                                "src": "2953:13:4",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_uint256_$returns$_t_bool_$",
                                                                    "typeString": "function (bytes32,uint256) view returns (bool)"
                                                                }
                                                            },
                                                            "id": 302,
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": false,
                                                            "kind": "functionCall",
                                                            "lValueRequested": false,
                                                            "names": [],
                                                            "nodeType": "FunctionCall",
                                                            "src": "2953:39:4",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_bool",
                                                                "typeString": "bool"
                                                            }
                                                        },
                                                        {
                                                            "argumentTypes": null,
                                                            "hexValue": "53656e64657220646f6573206e6f742068617665206d616e6167656d656e74206b6579",
                                                            "id": 303,
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": true,
                                                            "kind": "string",
                                                            "lValueRequested": false,
                                                            "nodeType": "Literal",
                                                            "src": "2994:37:4",
                                                            "subdenomination": null,
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_stringliteral_ac6b3bc9d0622dda8fc2f421b9f671767c5b983d0415995ab909c75c3ef27f29",
                                                                "typeString": "literal_string \"Sender does not have management key\""
                                                            },
                                                            "value": "Sender does not have management key"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "argumentTypes": [
                                                            {
                                                                "typeIdentifier": "t_bool",
                                                                "typeString": "bool"
                                                            },
                                                            {
                                                                "typeIdentifier": "t_stringliteral_ac6b3bc9d0622dda8fc2f421b9f671767c5b983d0415995ab909c75c3ef27f29",
                                                                "typeString": "literal_string \"Sender does not have management key\""
                                                            }
                                                        ],
                                                        "id": 295,
                                                        "name": "require",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [
                                                            3563,
                                                            3564
                                                        ],
                                                        "referencedDeclaration": 3564,
                                                        "src": "2945:7:4",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                                                            "typeString": "function (bool,string memory) pure"
                                                        }
                                                    },
                                                    "id": 304,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "kind": "functionCall",
                                                    "lValueRequested": false,
                                                    "names": [],
                                                    "nodeType": "FunctionCall",
                                                    "src": "2945:87:4",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_tuple$__$",
                                                        "typeString": "tuple()"
                                                    }
                                                },
                                                "id": 305,
                                                "nodeType": "ExpressionStatement",
                                                "src": "2945:87:4"
                                            }
                                        ]
                                    }
                                },
                                {
                                    "eventCall": {
                                        "argumentTypes": null,
                                        "arguments": [
                                            {
                                                "argumentTypes": null,
                                                "id": 309,
                                                "name": "_claimId",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 284,
                                                "src": "3084:8:4",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes32",
                                                    "typeString": "bytes32"
                                                }
                                            },
                                            {
                                                "argumentTypes": null,
                                                "expression": {
                                                    "argumentTypes": null,
                                                    "baseExpression": {
                                                        "argumentTypes": null,
                                                        "id": 310,
                                                        "name": "claims",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 164,
                                                        "src": "3106:6:4",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Claim_$654_storage_$",
                                                            "typeString": "mapping(bytes32 => struct ERC735.Claim storage ref)"
                                                        }
                                                    },
                                                    "id": 312,
                                                    "indexExpression": {
                                                        "argumentTypes": null,
                                                        "id": 311,
                                                        "name": "_claimId",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 284,
                                                        "src": "3113:8:4",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bytes32",
                                                            "typeString": "bytes32"
                                                        }
                                                    },
                                                    "isConstant": false,
                                                    "isLValue": true,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "nodeType": "IndexAccess",
                                                    "src": "3106:16:4",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_struct$_Claim_$654_storage",
                                                        "typeString": "struct ERC735.Claim storage ref"
                                                    }
                                                },
                                                "id": 313,
                                                "isConstant": false,
                                                "isLValue": true,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "memberName": "claimType",
                                                "nodeType": "MemberAccess",
                                                "referencedDeclaration": 643,
                                                "src": "3106:26:4",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                }
                                            },
                                            {
                                                "argumentTypes": null,
                                                "expression": {
                                                    "argumentTypes": null,
                                                    "baseExpression": {
                                                        "argumentTypes": null,
                                                        "id": 314,
                                                        "name": "claims",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 164,
                                                        "src": "3146:6:4",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Claim_$654_storage_$",
                                                            "typeString": "mapping(bytes32 => struct ERC735.Claim storage ref)"
                                                        }
                                                    },
                                                    "id": 316,
                                                    "indexExpression": {
                                                        "argumentTypes": null,
                                                        "id": 315,
                                                        "name": "_claimId",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 284,
                                                        "src": "3153:8:4",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bytes32",
                                                            "typeString": "bytes32"
                                                        }
                                                    },
                                                    "isConstant": false,
                                                    "isLValue": true,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "nodeType": "IndexAccess",
                                                    "src": "3146:16:4",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_struct$_Claim_$654_storage",
                                                        "typeString": "struct ERC735.Claim storage ref"
                                                    }
                                                },
                                                "id": 317,
                                                "isConstant": false,
                                                "isLValue": true,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "memberName": "scheme",
                                                "nodeType": "MemberAccess",
                                                "referencedDeclaration": 645,
                                                "src": "3146:23:4",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                }
                                            },
                                            {
                                                "argumentTypes": null,
                                                "expression": {
                                                    "argumentTypes": null,
                                                    "baseExpression": {
                                                        "argumentTypes": null,
                                                        "id": 318,
                                                        "name": "claims",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 164,
                                                        "src": "3183:6:4",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Claim_$654_storage_$",
                                                            "typeString": "mapping(bytes32 => struct ERC735.Claim storage ref)"
                                                        }
                                                    },
                                                    "id": 320,
                                                    "indexExpression": {
                                                        "argumentTypes": null,
                                                        "id": 319,
                                                        "name": "_claimId",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 284,
                                                        "src": "3190:8:4",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bytes32",
                                                            "typeString": "bytes32"
                                                        }
                                                    },
                                                    "isConstant": false,
                                                    "isLValue": true,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "nodeType": "IndexAccess",
                                                    "src": "3183:16:4",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_struct$_Claim_$654_storage",
                                                        "typeString": "struct ERC735.Claim storage ref"
                                                    }
                                                },
                                                "id": 321,
                                                "isConstant": false,
                                                "isLValue": true,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "memberName": "issuer",
                                                "nodeType": "MemberAccess",
                                                "referencedDeclaration": 647,
                                                "src": "3183:23:4",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_address",
                                                    "typeString": "address"
                                                }
                                            },
                                            {
                                                "argumentTypes": null,
                                                "expression": {
                                                    "argumentTypes": null,
                                                    "baseExpression": {
                                                        "argumentTypes": null,
                                                        "id": 322,
                                                        "name": "claims",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 164,
                                                        "src": "3220:6:4",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Claim_$654_storage_$",
                                                            "typeString": "mapping(bytes32 => struct ERC735.Claim storage ref)"
                                                        }
                                                    },
                                                    "id": 324,
                                                    "indexExpression": {
                                                        "argumentTypes": null,
                                                        "id": 323,
                                                        "name": "_claimId",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 284,
                                                        "src": "3227:8:4",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bytes32",
                                                            "typeString": "bytes32"
                                                        }
                                                    },
                                                    "isConstant": false,
                                                    "isLValue": true,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "nodeType": "IndexAccess",
                                                    "src": "3220:16:4",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_struct$_Claim_$654_storage",
                                                        "typeString": "struct ERC735.Claim storage ref"
                                                    }
                                                },
                                                "id": 325,
                                                "isConstant": false,
                                                "isLValue": true,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "memberName": "signature",
                                                "nodeType": "MemberAccess",
                                                "referencedDeclaration": 649,
                                                "src": "3220:26:4",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_storage",
                                                    "typeString": "bytes storage ref"
                                                }
                                            },
                                            {
                                                "argumentTypes": null,
                                                "expression": {
                                                    "argumentTypes": null,
                                                    "baseExpression": {
                                                        "argumentTypes": null,
                                                        "id": 326,
                                                        "name": "claims",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 164,
                                                        "src": "3260:6:4",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Claim_$654_storage_$",
                                                            "typeString": "mapping(bytes32 => struct ERC735.Claim storage ref)"
                                                        }
                                                    },
                                                    "id": 328,
                                                    "indexExpression": {
                                                        "argumentTypes": null,
                                                        "id": 327,
                                                        "name": "_claimId",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 284,
                                                        "src": "3267:8:4",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bytes32",
                                                            "typeString": "bytes32"
                                                        }
                                                    },
                                                    "isConstant": false,
                                                    "isLValue": true,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "nodeType": "IndexAccess",
                                                    "src": "3260:16:4",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_struct$_Claim_$654_storage",
                                                        "typeString": "struct ERC735.Claim storage ref"
                                                    }
                                                },
                                                "id": 329,
                                                "isConstant": false,
                                                "isLValue": true,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "memberName": "data",
                                                "nodeType": "MemberAccess",
                                                "referencedDeclaration": 651,
                                                "src": "3260:21:4",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_storage",
                                                    "typeString": "bytes storage ref"
                                                }
                                            },
                                            {
                                                "argumentTypes": null,
                                                "expression": {
                                                    "argumentTypes": null,
                                                    "baseExpression": {
                                                        "argumentTypes": null,
                                                        "id": 330,
                                                        "name": "claims",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 164,
                                                        "src": "3295:6:4",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Claim_$654_storage_$",
                                                            "typeString": "mapping(bytes32 => struct ERC735.Claim storage ref)"
                                                        }
                                                    },
                                                    "id": 332,
                                                    "indexExpression": {
                                                        "argumentTypes": null,
                                                        "id": 331,
                                                        "name": "_claimId",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 284,
                                                        "src": "3302:8:4",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bytes32",
                                                            "typeString": "bytes32"
                                                        }
                                                    },
                                                    "isConstant": false,
                                                    "isLValue": true,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "nodeType": "IndexAccess",
                                                    "src": "3295:16:4",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_struct$_Claim_$654_storage",
                                                        "typeString": "struct ERC735.Claim storage ref"
                                                    }
                                                },
                                                "id": 333,
                                                "isConstant": false,
                                                "isLValue": true,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "memberName": "uri",
                                                "nodeType": "MemberAccess",
                                                "referencedDeclaration": 653,
                                                "src": "3295:20:4",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_string_storage",
                                                    "typeString": "string storage ref"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes32",
                                                    "typeString": "bytes32"
                                                },
                                                {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                },
                                                {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                },
                                                {
                                                    "typeIdentifier": "t_address",
                                                    "typeString": "address"
                                                },
                                                {
                                                    "typeIdentifier": "t_bytes_storage",
                                                    "typeString": "bytes storage ref"
                                                },
                                                {
                                                    "typeIdentifier": "t_bytes_storage",
                                                    "typeString": "bytes storage ref"
                                                },
                                                {
                                                    "typeIdentifier": "t_string_storage",
                                                    "typeString": "string storage ref"
                                                }
                                            ],
                                            "id": 308,
                                            "name": "ClaimRemoved",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 625,
                                            "src": "3058:12:4",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$_t_uint256_$_t_address_$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes32,uint256,uint256,address,bytes memory,bytes memory,string memory)"
                                            }
                                        },
                                        "id": 334,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "3058:267:4",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 335,
                                    "nodeType": "EmitStatement",
                                    "src": "3053:272:4"
                                },
                                {
                                    "assignments": [
                                        339
                                    ],
                                    "declarations": [
                                        {
                                            "constant": false,
                                            "id": 339,
                                            "name": "claimList",
                                            "nodeType": "VariableDeclaration",
                                            "scope": 396,
                                            "src": "3336:19:4",
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr",
                                                "typeString": "bytes32[]"
                                            },
                                            "typeName": {
                                                "baseType": {
                                                    "id": 337,
                                                    "name": "bytes32",
                                                    "nodeType": "ElementaryTypeName",
                                                    "src": "3336:7:4",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_bytes32",
                                                        "typeString": "bytes32"
                                                    }
                                                },
                                                "id": 338,
                                                "length": null,
                                                "nodeType": "ArrayTypeName",
                                                "src": "3336:9:4",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr",
                                                    "typeString": "bytes32[]"
                                                }
                                            },
                                            "value": null,
                                            "visibility": "internal"
                                        }
                                    ],
                                    "id": 346,
                                    "initialValue": {
                                        "argumentTypes": null,
                                        "baseExpression": {
                                            "argumentTypes": null,
                                            "id": 340,
                                            "name": "claimsByType",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 169,
                                            "src": "3358:12:4",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_mapping$_t_uint256_$_t_array$_t_bytes32_$dyn_storage_$",
                                                "typeString": "mapping(uint256 => bytes32[] storage ref)"
                                            }
                                        },
                                        "id": 345,
                                        "indexExpression": {
                                            "argumentTypes": null,
                                            "expression": {
                                                "argumentTypes": null,
                                                "baseExpression": {
                                                    "argumentTypes": null,
                                                    "id": 341,
                                                    "name": "claims",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 164,
                                                    "src": "3371:6:4",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Claim_$654_storage_$",
                                                        "typeString": "mapping(bytes32 => struct ERC735.Claim storage ref)"
                                                    }
                                                },
                                                "id": 343,
                                                "indexExpression": {
                                                    "argumentTypes": null,
                                                    "id": 342,
                                                    "name": "_claimId",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 284,
                                                    "src": "3378:8:4",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_bytes32",
                                                        "typeString": "bytes32"
                                                    }
                                                },
                                                "isConstant": false,
                                                "isLValue": true,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "nodeType": "IndexAccess",
                                                "src": "3371:16:4",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_struct$_Claim_$654_storage",
                                                    "typeString": "struct ERC735.Claim storage ref"
                                                }
                                            },
                                            "id": 344,
                                            "isConstant": false,
                                            "isLValue": true,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "memberName": "claimType",
                                            "nodeType": "MemberAccess",
                                            "referencedDeclaration": 643,
                                            "src": "3371:26:4",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                            }
                                        },
                                        "isConstant": false,
                                        "isLValue": true,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "nodeType": "IndexAccess",
                                        "src": "3358:40:4",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_array$_t_bytes32_$dyn_storage",
                                            "typeString": "bytes32[] storage ref"
                                        }
                                    },
                                    "nodeType": "VariableDeclarationStatement",
                                    "src": "3336:62:4"
                                },
                                {
                                    "body": {
                                        "id": 386,
                                        "nodeType": "Block",
                                        "src": "3450:203:4",
                                        "statements": [
                                            {
                                                "condition": {
                                                    "argumentTypes": null,
                                                    "commonType": {
                                                        "typeIdentifier": "t_bytes32",
                                                        "typeString": "bytes32"
                                                    },
                                                    "id": 362,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "leftExpression": {
                                                        "argumentTypes": null,
                                                        "baseExpression": {
                                                            "argumentTypes": null,
                                                            "id": 358,
                                                            "name": "claimList",
                                                            "nodeType": "Identifier",
                                                            "overloadedDeclarations": [],
                                                            "referencedDeclaration": 339,
                                                            "src": "3467:9:4",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr",
                                                                "typeString": "bytes32[] storage pointer"
                                                            }
                                                        },
                                                        "id": 360,
                                                        "indexExpression": {
                                                            "argumentTypes": null,
                                                            "id": 359,
                                                            "name": "i",
                                                            "nodeType": "Identifier",
                                                            "overloadedDeclarations": [],
                                                            "referencedDeclaration": 348,
                                                            "src": "3477:1:4",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_uint256",
                                                                "typeString": "uint256"
                                                            }
                                                        },
                                                        "isConstant": false,
                                                        "isLValue": true,
                                                        "isPure": false,
                                                        "lValueRequested": false,
                                                        "nodeType": "IndexAccess",
                                                        "src": "3467:12:4",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bytes32",
                                                            "typeString": "bytes32"
                                                        }
                                                    },
                                                    "nodeType": "BinaryOperation",
                                                    "operator": "==",
                                                    "rightExpression": {
                                                        "argumentTypes": null,
                                                        "id": 361,
                                                        "name": "_claimId",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 284,
                                                        "src": "3483:8:4",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bytes32",
                                                            "typeString": "bytes32"
                                                        }
                                                    },
                                                    "src": "3467:24:4",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_bool",
                                                        "typeString": "bool"
                                                    }
                                                },
                                                "falseBody": null,
                                                "id": 385,
                                                "nodeType": "IfStatement",
                                                "src": "3464:179:4",
                                                "trueBody": {
                                                    "id": 384,
                                                    "nodeType": "Block",
                                                    "src": "3493:150:4",
                                                    "statements": [
                                                        {
                                                            "expression": {
                                                                "argumentTypes": null,
                                                                "id": 366,
                                                                "isConstant": false,
                                                                "isLValue": false,
                                                                "isPure": false,
                                                                "lValueRequested": false,
                                                                "nodeType": "UnaryOperation",
                                                                "operator": "delete",
                                                                "prefix": true,
                                                                "src": "3511:19:4",
                                                                "subExpression": {
                                                                    "argumentTypes": null,
                                                                    "baseExpression": {
                                                                        "argumentTypes": null,
                                                                        "id": 363,
                                                                        "name": "claimList",
                                                                        "nodeType": "Identifier",
                                                                        "overloadedDeclarations": [],
                                                                        "referencedDeclaration": 339,
                                                                        "src": "3518:9:4",
                                                                        "typeDescriptions": {
                                                                            "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr",
                                                                            "typeString": "bytes32[] storage pointer"
                                                                        }
                                                                    },
                                                                    "id": 365,
                                                                    "indexExpression": {
                                                                        "argumentTypes": null,
                                                                        "id": 364,
                                                                        "name": "i",
                                                                        "nodeType": "Identifier",
                                                                        "overloadedDeclarations": [],
                                                                        "referencedDeclaration": 348,
                                                                        "src": "3528:1:4",
                                                                        "typeDescriptions": {
                                                                            "typeIdentifier": "t_uint256",
                                                                            "typeString": "uint256"
                                                                        }
                                                                    },
                                                                    "isConstant": false,
                                                                    "isLValue": true,
                                                                    "isPure": false,
                                                                    "lValueRequested": true,
                                                                    "nodeType": "IndexAccess",
                                                                    "src": "3518:12:4",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_bytes32",
                                                                        "typeString": "bytes32"
                                                                    }
                                                                },
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_tuple$__$",
                                                                    "typeString": "tuple()"
                                                                }
                                                            },
                                                            "id": 367,
                                                            "nodeType": "ExpressionStatement",
                                                            "src": "3511:19:4"
                                                        },
                                                        {
                                                            "expression": {
                                                                "argumentTypes": null,
                                                                "id": 377,
                                                                "isConstant": false,
                                                                "isLValue": false,
                                                                "isPure": false,
                                                                "lValueRequested": false,
                                                                "leftHandSide": {
                                                                    "argumentTypes": null,
                                                                    "baseExpression": {
                                                                        "argumentTypes": null,
                                                                        "id": 368,
                                                                        "name": "claimList",
                                                                        "nodeType": "Identifier",
                                                                        "overloadedDeclarations": [],
                                                                        "referencedDeclaration": 339,
                                                                        "src": "3548:9:4",
                                                                        "typeDescriptions": {
                                                                            "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr",
                                                                            "typeString": "bytes32[] storage pointer"
                                                                        }
                                                                    },
                                                                    "id": 370,
                                                                    "indexExpression": {
                                                                        "argumentTypes": null,
                                                                        "id": 369,
                                                                        "name": "i",
                                                                        "nodeType": "Identifier",
                                                                        "overloadedDeclarations": [],
                                                                        "referencedDeclaration": 348,
                                                                        "src": "3558:1:4",
                                                                        "typeDescriptions": {
                                                                            "typeIdentifier": "t_uint256",
                                                                            "typeString": "uint256"
                                                                        }
                                                                    },
                                                                    "isConstant": false,
                                                                    "isLValue": true,
                                                                    "isPure": false,
                                                                    "lValueRequested": true,
                                                                    "nodeType": "IndexAccess",
                                                                    "src": "3548:12:4",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_bytes32",
                                                                        "typeString": "bytes32"
                                                                    }
                                                                },
                                                                "nodeType": "Assignment",
                                                                "operator": "=",
                                                                "rightHandSide": {
                                                                    "argumentTypes": null,
                                                                    "baseExpression": {
                                                                        "argumentTypes": null,
                                                                        "id": 371,
                                                                        "name": "claimList",
                                                                        "nodeType": "Identifier",
                                                                        "overloadedDeclarations": [],
                                                                        "referencedDeclaration": 339,
                                                                        "src": "3563:9:4",
                                                                        "typeDescriptions": {
                                                                            "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr",
                                                                            "typeString": "bytes32[] storage pointer"
                                                                        }
                                                                    },
                                                                    "id": 376,
                                                                    "indexExpression": {
                                                                        "argumentTypes": null,
                                                                        "commonType": {
                                                                            "typeIdentifier": "t_uint256",
                                                                            "typeString": "uint256"
                                                                        },
                                                                        "id": 375,
                                                                        "isConstant": false,
                                                                        "isLValue": false,
                                                                        "isPure": false,
                                                                        "lValueRequested": false,
                                                                        "leftExpression": {
                                                                            "argumentTypes": null,
                                                                            "expression": {
                                                                                "argumentTypes": null,
                                                                                "id": 372,
                                                                                "name": "claimList",
                                                                                "nodeType": "Identifier",
                                                                                "overloadedDeclarations": [],
                                                                                "referencedDeclaration": 339,
                                                                                "src": "3573:9:4",
                                                                                "typeDescriptions": {
                                                                                    "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr",
                                                                                    "typeString": "bytes32[] storage pointer"
                                                                                }
                                                                            },
                                                                            "id": 373,
                                                                            "isConstant": false,
                                                                            "isLValue": true,
                                                                            "isPure": false,
                                                                            "lValueRequested": false,
                                                                            "memberName": "length",
                                                                            "nodeType": "MemberAccess",
                                                                            "referencedDeclaration": null,
                                                                            "src": "3573:16:4",
                                                                            "typeDescriptions": {
                                                                                "typeIdentifier": "t_uint256",
                                                                                "typeString": "uint256"
                                                                            }
                                                                        },
                                                                        "nodeType": "BinaryOperation",
                                                                        "operator": "-",
                                                                        "rightExpression": {
                                                                            "argumentTypes": null,
                                                                            "hexValue": "31",
                                                                            "id": 374,
                                                                            "isConstant": false,
                                                                            "isLValue": false,
                                                                            "isPure": true,
                                                                            "kind": "number",
                                                                            "lValueRequested": false,
                                                                            "nodeType": "Literal",
                                                                            "src": "3590:1:4",
                                                                            "subdenomination": null,
                                                                            "typeDescriptions": {
                                                                                "typeIdentifier": "t_rational_1_by_1",
                                                                                "typeString": "int_const 1"
                                                                            },
                                                                            "value": "1"
                                                                        },
                                                                        "src": "3573:18:4",
                                                                        "typeDescriptions": {
                                                                            "typeIdentifier": "t_uint256",
                                                                            "typeString": "uint256"
                                                                        }
                                                                    },
                                                                    "isConstant": false,
                                                                    "isLValue": true,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "nodeType": "IndexAccess",
                                                                    "src": "3563:29:4",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_bytes32",
                                                                        "typeString": "bytes32"
                                                                    }
                                                                },
                                                                "src": "3548:44:4",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_bytes32",
                                                                    "typeString": "bytes32"
                                                                }
                                                            },
                                                            "id": 378,
                                                            "nodeType": "ExpressionStatement",
                                                            "src": "3548:44:4"
                                                        },
                                                        {
                                                            "expression": {
                                                                "argumentTypes": null,
                                                                "id": 382,
                                                                "isConstant": false,
                                                                "isLValue": false,
                                                                "isPure": false,
                                                                "lValueRequested": false,
                                                                "nodeType": "UnaryOperation",
                                                                "operator": "--",
                                                                "prefix": false,
                                                                "src": "3610:18:4",
                                                                "subExpression": {
                                                                    "argumentTypes": null,
                                                                    "expression": {
                                                                        "argumentTypes": null,
                                                                        "id": 379,
                                                                        "name": "claimList",
                                                                        "nodeType": "Identifier",
                                                                        "overloadedDeclarations": [],
                                                                        "referencedDeclaration": 339,
                                                                        "src": "3610:9:4",
                                                                        "typeDescriptions": {
                                                                            "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr",
                                                                            "typeString": "bytes32[] storage pointer"
                                                                        }
                                                                    },
                                                                    "id": 381,
                                                                    "isConstant": false,
                                                                    "isLValue": true,
                                                                    "isPure": false,
                                                                    "lValueRequested": true,
                                                                    "memberName": "length",
                                                                    "nodeType": "MemberAccess",
                                                                    "referencedDeclaration": null,
                                                                    "src": "3610:16:4",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_uint256",
                                                                        "typeString": "uint256"
                                                                    }
                                                                },
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_uint256",
                                                                    "typeString": "uint256"
                                                                }
                                                            },
                                                            "id": 383,
                                                            "nodeType": "ExpressionStatement",
                                                            "src": "3610:18:4"
                                                        }
                                                    ]
                                                }
                                            }
                                        ]
                                    },
                                    "condition": {
                                        "argumentTypes": null,
                                        "commonType": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        },
                                        "id": 354,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "leftExpression": {
                                            "argumentTypes": null,
                                            "id": 351,
                                            "name": "i",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 348,
                                            "src": "3425:1:4",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                            }
                                        },
                                        "nodeType": "BinaryOperation",
                                        "operator": "<",
                                        "rightExpression": {
                                            "argumentTypes": null,
                                            "expression": {
                                                "argumentTypes": null,
                                                "id": 352,
                                                "name": "claimList",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 339,
                                                "src": "3427:9:4",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr",
                                                    "typeString": "bytes32[] storage pointer"
                                                }
                                            },
                                            "id": 353,
                                            "isConstant": false,
                                            "isLValue": true,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "memberName": "length",
                                            "nodeType": "MemberAccess",
                                            "referencedDeclaration": null,
                                            "src": "3427:16:4",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                            }
                                        },
                                        "src": "3425:18:4",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "id": 387,
                                    "initializationExpression": {
                                        "assignments": [
                                            348
                                        ],
                                        "declarations": [
                                            {
                                                "constant": false,
                                                "id": 348,
                                                "name": "i",
                                                "nodeType": "VariableDeclaration",
                                                "scope": 396,
                                                "src": "3413:6:4",
                                                "stateVariable": false,
                                                "storageLocation": "default",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                },
                                                "typeName": {
                                                    "id": 347,
                                                    "name": "uint",
                                                    "nodeType": "ElementaryTypeName",
                                                    "src": "3413:4:4",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_uint256",
                                                        "typeString": "uint256"
                                                    }
                                                },
                                                "value": null,
                                                "visibility": "internal"
                                            }
                                        ],
                                        "id": 350,
                                        "initialValue": {
                                            "argumentTypes": null,
                                            "hexValue": "30",
                                            "id": 349,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": true,
                                            "kind": "number",
                                            "lValueRequested": false,
                                            "nodeType": "Literal",
                                            "src": "3422:1:4",
                                            "subdenomination": null,
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_rational_0_by_1",
                                                "typeString": "int_const 0"
                                            },
                                            "value": "0"
                                        },
                                        "nodeType": "VariableDeclarationStatement",
                                        "src": "3413:10:4"
                                    },
                                    "loopExpression": {
                                        "expression": {
                                            "argumentTypes": null,
                                            "id": 356,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "nodeType": "UnaryOperation",
                                            "operator": "++",
                                            "prefix": false,
                                            "src": "3445:3:4",
                                            "subExpression": {
                                                "argumentTypes": null,
                                                "id": 355,
                                                "name": "i",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 348,
                                                "src": "3445:1:4",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                }
                                            },
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                            }
                                        },
                                        "id": 357,
                                        "nodeType": "ExpressionStatement",
                                        "src": "3445:3:4"
                                    },
                                    "nodeType": "ForStatement",
                                    "src": "3409:244:4"
                                },
                                {
                                    "expression": {
                                        "argumentTypes": null,
                                        "id": 391,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "nodeType": "UnaryOperation",
                                        "operator": "delete",
                                        "prefix": true,
                                        "src": "3663:23:4",
                                        "subExpression": {
                                            "argumentTypes": null,
                                            "baseExpression": {
                                                "argumentTypes": null,
                                                "id": 388,
                                                "name": "claims",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 164,
                                                "src": "3670:6:4",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Claim_$654_storage_$",
                                                    "typeString": "mapping(bytes32 => struct ERC735.Claim storage ref)"
                                                }
                                            },
                                            "id": 390,
                                            "indexExpression": {
                                                "argumentTypes": null,
                                                "id": 389,
                                                "name": "_claimId",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 284,
                                                "src": "3677:8:4",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes32",
                                                    "typeString": "bytes32"
                                                }
                                            },
                                            "isConstant": false,
                                            "isLValue": true,
                                            "isPure": false,
                                            "lValueRequested": true,
                                            "nodeType": "IndexAccess",
                                            "src": "3670:16:4",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_struct$_Claim_$654_storage",
                                                "typeString": "struct ERC735.Claim storage ref"
                                            }
                                        },
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 392,
                                    "nodeType": "ExpressionStatement",
                                    "src": "3663:23:4"
                                },
                                {
                                    "expression": {
                                        "argumentTypes": null,
                                        "hexValue": "74727565",
                                        "id": 393,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": true,
                                        "kind": "bool",
                                        "lValueRequested": false,
                                        "nodeType": "Literal",
                                        "src": "3704:4:4",
                                        "subdenomination": null,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        },
                                        "value": "true"
                                    },
                                    "functionReturnParameters": 288,
                                    "id": 394,
                                    "nodeType": "Return",
                                    "src": "3697:11:4"
                                }
                            ]
                        },
                        "documentation": "@notice Implementation of the removeClaim function from the ERC-735 standard\nRequire that the msg.sender has management key.\nCan only be removed by the claim issuer, or the claim holder itself.\n    * @param _claimId The identity of the claim i.e. keccak256(address issuer_address + uint256 claimType)\n    * @return Returns TRUE when the claim was removed.\ntriggers ClaimRemoved event",
                        "id": 396,
                        "implemented": true,
                        "isConstructor": false,
                        "isDeclaredConst": false,
                        "modifiers": [],
                        "name": "removeClaim",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 285,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 284,
                                    "name": "_claimId",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 396,
                                    "src": "2840:16:4",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes32",
                                        "typeString": "bytes32"
                                    },
                                    "typeName": {
                                        "id": 283,
                                        "name": "bytes32",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "2840:7:4",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                }
                            ],
                            "src": "2839:18:4"
                        },
                        "payable": false,
                        "returnParameters": {
                            "id": 288,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 287,
                                    "name": "success",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 396,
                                    "src": "2874:12:4",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 286,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "2874:4:4",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                }
                            ],
                            "src": "2873:14:4"
                        },
                        "scope": 454,
                        "src": "2819:896:4",
                        "stateMutability": "nonpayable",
                        "superFunction": 703,
                        "visibility": "public"
                    },
                    {
                        "body": {
                            "id": 439,
                            "nodeType": "Block",
                            "src": "4328:257:4",
                            "statements": [
                                {
                                    "expression": {
                                        "argumentTypes": null,
                                        "components": [
                                            {
                                                "argumentTypes": null,
                                                "expression": {
                                                    "argumentTypes": null,
                                                    "baseExpression": {
                                                        "argumentTypes": null,
                                                        "id": 413,
                                                        "name": "claims",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 164,
                                                        "src": "4359:6:4",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Claim_$654_storage_$",
                                                            "typeString": "mapping(bytes32 => struct ERC735.Claim storage ref)"
                                                        }
                                                    },
                                                    "id": 415,
                                                    "indexExpression": {
                                                        "argumentTypes": null,
                                                        "id": 414,
                                                        "name": "_claimId",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 398,
                                                        "src": "4366:8:4",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bytes32",
                                                            "typeString": "bytes32"
                                                        }
                                                    },
                                                    "isConstant": false,
                                                    "isLValue": true,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "nodeType": "IndexAccess",
                                                    "src": "4359:16:4",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_struct$_Claim_$654_storage",
                                                        "typeString": "struct ERC735.Claim storage ref"
                                                    }
                                                },
                                                "id": 416,
                                                "isConstant": false,
                                                "isLValue": true,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "memberName": "claimType",
                                                "nodeType": "MemberAccess",
                                                "referencedDeclaration": 643,
                                                "src": "4359:26:4",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                }
                                            },
                                            {
                                                "argumentTypes": null,
                                                "expression": {
                                                    "argumentTypes": null,
                                                    "baseExpression": {
                                                        "argumentTypes": null,
                                                        "id": 417,
                                                        "name": "claims",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 164,
                                                        "src": "4399:6:4",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Claim_$654_storage_$",
                                                            "typeString": "mapping(bytes32 => struct ERC735.Claim storage ref)"
                                                        }
                                                    },
                                                    "id": 419,
                                                    "indexExpression": {
                                                        "argumentTypes": null,
                                                        "id": 418,
                                                        "name": "_claimId",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 398,
                                                        "src": "4406:8:4",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bytes32",
                                                            "typeString": "bytes32"
                                                        }
                                                    },
                                                    "isConstant": false,
                                                    "isLValue": true,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "nodeType": "IndexAccess",
                                                    "src": "4399:16:4",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_struct$_Claim_$654_storage",
                                                        "typeString": "struct ERC735.Claim storage ref"
                                                    }
                                                },
                                                "id": 420,
                                                "isConstant": false,
                                                "isLValue": true,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "memberName": "scheme",
                                                "nodeType": "MemberAccess",
                                                "referencedDeclaration": 645,
                                                "src": "4399:23:4",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                }
                                            },
                                            {
                                                "argumentTypes": null,
                                                "expression": {
                                                    "argumentTypes": null,
                                                    "baseExpression": {
                                                        "argumentTypes": null,
                                                        "id": 421,
                                                        "name": "claims",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 164,
                                                        "src": "4436:6:4",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Claim_$654_storage_$",
                                                            "typeString": "mapping(bytes32 => struct ERC735.Claim storage ref)"
                                                        }
                                                    },
                                                    "id": 423,
                                                    "indexExpression": {
                                                        "argumentTypes": null,
                                                        "id": 422,
                                                        "name": "_claimId",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 398,
                                                        "src": "4443:8:4",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bytes32",
                                                            "typeString": "bytes32"
                                                        }
                                                    },
                                                    "isConstant": false,
                                                    "isLValue": true,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "nodeType": "IndexAccess",
                                                    "src": "4436:16:4",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_struct$_Claim_$654_storage",
                                                        "typeString": "struct ERC735.Claim storage ref"
                                                    }
                                                },
                                                "id": 424,
                                                "isConstant": false,
                                                "isLValue": true,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "memberName": "issuer",
                                                "nodeType": "MemberAccess",
                                                "referencedDeclaration": 647,
                                                "src": "4436:23:4",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_address",
                                                    "typeString": "address"
                                                }
                                            },
                                            {
                                                "argumentTypes": null,
                                                "expression": {
                                                    "argumentTypes": null,
                                                    "baseExpression": {
                                                        "argumentTypes": null,
                                                        "id": 425,
                                                        "name": "claims",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 164,
                                                        "src": "4473:6:4",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Claim_$654_storage_$",
                                                            "typeString": "mapping(bytes32 => struct ERC735.Claim storage ref)"
                                                        }
                                                    },
                                                    "id": 427,
                                                    "indexExpression": {
                                                        "argumentTypes": null,
                                                        "id": 426,
                                                        "name": "_claimId",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 398,
                                                        "src": "4480:8:4",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bytes32",
                                                            "typeString": "bytes32"
                                                        }
                                                    },
                                                    "isConstant": false,
                                                    "isLValue": true,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "nodeType": "IndexAccess",
                                                    "src": "4473:16:4",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_struct$_Claim_$654_storage",
                                                        "typeString": "struct ERC735.Claim storage ref"
                                                    }
                                                },
                                                "id": 428,
                                                "isConstant": false,
                                                "isLValue": true,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "memberName": "signature",
                                                "nodeType": "MemberAccess",
                                                "referencedDeclaration": 649,
                                                "src": "4473:26:4",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_storage",
                                                    "typeString": "bytes storage ref"
                                                }
                                            },
                                            {
                                                "argumentTypes": null,
                                                "expression": {
                                                    "argumentTypes": null,
                                                    "baseExpression": {
                                                        "argumentTypes": null,
                                                        "id": 429,
                                                        "name": "claims",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 164,
                                                        "src": "4513:6:4",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Claim_$654_storage_$",
                                                            "typeString": "mapping(bytes32 => struct ERC735.Claim storage ref)"
                                                        }
                                                    },
                                                    "id": 431,
                                                    "indexExpression": {
                                                        "argumentTypes": null,
                                                        "id": 430,
                                                        "name": "_claimId",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 398,
                                                        "src": "4520:8:4",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bytes32",
                                                            "typeString": "bytes32"
                                                        }
                                                    },
                                                    "isConstant": false,
                                                    "isLValue": true,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "nodeType": "IndexAccess",
                                                    "src": "4513:16:4",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_struct$_Claim_$654_storage",
                                                        "typeString": "struct ERC735.Claim storage ref"
                                                    }
                                                },
                                                "id": 432,
                                                "isConstant": false,
                                                "isLValue": true,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "memberName": "data",
                                                "nodeType": "MemberAccess",
                                                "referencedDeclaration": 651,
                                                "src": "4513:21:4",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_storage",
                                                    "typeString": "bytes storage ref"
                                                }
                                            },
                                            {
                                                "argumentTypes": null,
                                                "expression": {
                                                    "argumentTypes": null,
                                                    "baseExpression": {
                                                        "argumentTypes": null,
                                                        "id": 433,
                                                        "name": "claims",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 164,
                                                        "src": "4548:6:4",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Claim_$654_storage_$",
                                                            "typeString": "mapping(bytes32 => struct ERC735.Claim storage ref)"
                                                        }
                                                    },
                                                    "id": 435,
                                                    "indexExpression": {
                                                        "argumentTypes": null,
                                                        "id": 434,
                                                        "name": "_claimId",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 398,
                                                        "src": "4555:8:4",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bytes32",
                                                            "typeString": "bytes32"
                                                        }
                                                    },
                                                    "isConstant": false,
                                                    "isLValue": true,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "nodeType": "IndexAccess",
                                                    "src": "4548:16:4",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_struct$_Claim_$654_storage",
                                                        "typeString": "struct ERC735.Claim storage ref"
                                                    }
                                                },
                                                "id": 436,
                                                "isConstant": false,
                                                "isLValue": true,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "memberName": "uri",
                                                "nodeType": "MemberAccess",
                                                "referencedDeclaration": 653,
                                                "src": "4548:20:4",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_string_storage",
                                                    "typeString": "string storage ref"
                                                }
                                            }
                                        ],
                                        "id": 437,
                                        "isConstant": false,
                                        "isInlineArray": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "nodeType": "TupleExpression",
                                        "src": "4345:233:4",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_address_$_t_bytes_storage_$_t_bytes_storage_$_t_string_storage_$",
                                            "typeString": "tuple(uint256,uint256,address,bytes storage ref,bytes storage ref,string storage ref)"
                                        }
                                    },
                                    "functionReturnParameters": 412,
                                    "id": 438,
                                    "nodeType": "Return",
                                    "src": "4338:240:4"
                                }
                            ]
                        },
                        "documentation": "@notice Implementation of the getClaim function from the ERC-735 standard.\n    * @param _claimId The identity of the claim i.e. keccak256(address issuer_address + uint256 claimType)\n    * @return Returns all the parameters of the claim for the specified _claimId (claimType, scheme, signature, issuer, data, uri) .",
                        "id": 440,
                        "implemented": true,
                        "isConstructor": false,
                        "isDeclaredConst": true,
                        "modifiers": [],
                        "name": "getClaim",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 399,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 398,
                                    "name": "_claimId",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 440,
                                    "src": "4084:16:4",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes32",
                                        "typeString": "bytes32"
                                    },
                                    "typeName": {
                                        "id": 397,
                                        "name": "bytes32",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "4084:7:4",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                }
                            ],
                            "src": "4083:18:4"
                        },
                        "payable": false,
                        "returnParameters": {
                            "id": 412,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 401,
                                    "name": "claimType",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 440,
                                    "src": "4163:17:4",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 400,
                                        "name": "uint256",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "4163:7:4",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 403,
                                    "name": "scheme",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 440,
                                    "src": "4194:14:4",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 402,
                                        "name": "uint256",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "4194:7:4",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 405,
                                    "name": "issuer",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 440,
                                    "src": "4222:14:4",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 404,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "4222:7:4",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 407,
                                    "name": "signature",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 440,
                                    "src": "4250:15:4",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes_memory_ptr",
                                        "typeString": "bytes"
                                    },
                                    "typeName": {
                                        "id": 406,
                                        "name": "bytes",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "4250:5:4",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes_storage_ptr",
                                            "typeString": "bytes"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 409,
                                    "name": "data",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 440,
                                    "src": "4279:10:4",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes_memory_ptr",
                                        "typeString": "bytes"
                                    },
                                    "typeName": {
                                        "id": 408,
                                        "name": "bytes",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "4279:5:4",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes_storage_ptr",
                                            "typeString": "bytes"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 411,
                                    "name": "uri",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 440,
                                    "src": "4303:10:4",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 410,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "4303:6:4",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                }
                            ],
                            "src": "4149:174:4"
                        },
                        "scope": 454,
                        "src": "4066:519:4",
                        "stateMutability": "view",
                        "superFunction": 671,
                        "visibility": "public"
                    },
                    {
                        "body": {
                            "id": 452,
                            "nodeType": "Block",
                            "src": "5054:48:4",
                            "statements": [
                                {
                                    "expression": {
                                        "argumentTypes": null,
                                        "baseExpression": {
                                            "argumentTypes": null,
                                            "id": 448,
                                            "name": "claimsByType",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 169,
                                            "src": "5071:12:4",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_mapping$_t_uint256_$_t_array$_t_bytes32_$dyn_storage_$",
                                                "typeString": "mapping(uint256 => bytes32[] storage ref)"
                                            }
                                        },
                                        "id": 450,
                                        "indexExpression": {
                                            "argumentTypes": null,
                                            "id": 449,
                                            "name": "_claimType",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 442,
                                            "src": "5084:10:4",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                            }
                                        },
                                        "isConstant": false,
                                        "isLValue": true,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "nodeType": "IndexAccess",
                                        "src": "5071:24:4",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_array$_t_bytes32_$dyn_storage",
                                            "typeString": "bytes32[] storage ref"
                                        }
                                    },
                                    "functionReturnParameters": 447,
                                    "id": 451,
                                    "nodeType": "Return",
                                    "src": "5064:31:4"
                                }
                            ]
                        },
                        "documentation": "@notice Implementation of the getClaimIdsByTopic function from the ERC-735 standard.\nused to get all the claims from the specified claimType\n    * @param _claimType The identity of the claim i.e. keccak256(address issuer_address + uint256 claimType)\n    * @return Returns an array of claim IDs by claimType.",
                        "id": 453,
                        "implemented": true,
                        "isConstructor": false,
                        "isDeclaredConst": true,
                        "modifiers": [],
                        "name": "getClaimIdsByType",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 443,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 442,
                                    "name": "_claimType",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 453,
                                    "src": "4962:18:4",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 441,
                                        "name": "uint256",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "4962:7:4",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                }
                            ],
                            "src": "4961:20:4"
                        },
                        "payable": false,
                        "returnParameters": {
                            "id": 447,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 446,
                                    "name": "claimIds",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 453,
                                    "src": "5030:18:4",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
                                        "typeString": "bytes32[]"
                                    },
                                    "typeName": {
                                        "baseType": {
                                            "id": 444,
                                            "name": "bytes32",
                                            "nodeType": "ElementaryTypeName",
                                            "src": "5030:7:4",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_bytes32",
                                                "typeString": "bytes32"
                                            }
                                        },
                                        "id": 445,
                                        "length": null,
                                        "nodeType": "ArrayTypeName",
                                        "src": "5030:9:4",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr",
                                            "typeString": "bytes32[]"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                }
                            ],
                            "src": "5029:20:4"
                        },
                        "scope": 454,
                        "src": "4935:167:4",
                        "stateMutability": "view",
                        "superFunction": 679,
                        "visibility": "public"
                    }
                ],
                "scope": 455,
                "src": "76:5028:4"
            }
        ],
        "src": "0:5105:4"
    },
    "legacyAST": {
        "absolutePath": "/Users/kevinthizy/Documents/DEV/TokenY/myna-T-REX/contracts/identity/ClaimHolder.sol",
        "exportedSymbols": {
            "ClaimHolder": [
                454
            ]
        },
        "id": 455,
        "nodeType": "SourceUnit",
        "nodes": [
            {
                "id": 154,
                "literals": [
                    "solidity",
                    "^",
                    "0.4",
                    ".24"
                ],
                "nodeType": "PragmaDirective",
                "src": "0:24:4"
            },
            {
                "absolutePath": "/Users/kevinthizy/Documents/DEV/TokenY/myna-T-REX/contracts/identity/ERC735.sol",
                "file": "./ERC735.sol",
                "id": 155,
                "nodeType": "ImportDirective",
                "scope": 455,
                "sourceUnit": 705,
                "src": "26:22:4",
                "symbolAliases": [],
                "unitAlias": ""
            },
            {
                "absolutePath": "/Users/kevinthizy/Documents/DEV/TokenY/myna-T-REX/contracts/identity/KeyHolder.sol",
                "file": "./KeyHolder.sol",
                "id": 156,
                "nodeType": "ImportDirective",
                "scope": 455,
                "sourceUnit": 1260,
                "src": "49:25:4",
                "symbolAliases": [],
                "unitAlias": ""
            },
            {
                "baseContracts": [
                    {
                        "arguments": null,
                        "baseName": {
                            "contractScope": null,
                            "id": 157,
                            "name": "KeyHolder",
                            "nodeType": "UserDefinedTypeName",
                            "referencedDeclaration": 1259,
                            "src": "100:9:4",
                            "typeDescriptions": {
                                "typeIdentifier": "t_contract$_KeyHolder_$1259",
                                "typeString": "contract KeyHolder"
                            }
                        },
                        "id": 158,
                        "nodeType": "InheritanceSpecifier",
                        "src": "100:9:4"
                    },
                    {
                        "arguments": null,
                        "baseName": {
                            "contractScope": null,
                            "id": 159,
                            "name": "ERC735",
                            "nodeType": "UserDefinedTypeName",
                            "referencedDeclaration": 704,
                            "src": "111:6:4",
                            "typeDescriptions": {
                                "typeIdentifier": "t_contract$_ERC735_$704",
                                "typeString": "contract ERC735"
                            }
                        },
                        "id": 160,
                        "nodeType": "InheritanceSpecifier",
                        "src": "111:6:4"
                    }
                ],
                "contractDependencies": [
                    575,
                    704,
                    1259
                ],
                "contractKind": "contract",
                "documentation": null,
                "fullyImplemented": true,
                "id": 454,
                "linearizedBaseContracts": [
                    454,
                    704,
                    1259,
                    575
                ],
                "name": "ClaimHolder",
                "nodeType": "ContractDefinition",
                "nodes": [
                    {
                        "constant": false,
                        "id": 164,
                        "name": "claims",
                        "nodeType": "VariableDeclaration",
                        "scope": 454,
                        "src": "125:33:4",
                        "stateVariable": true,
                        "storageLocation": "default",
                        "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Claim_$654_storage_$",
                            "typeString": "mapping(bytes32 => struct ERC735.Claim)"
                        },
                        "typeName": {
                            "id": 163,
                            "keyType": {
                                "id": 161,
                                "name": "bytes32",
                                "nodeType": "ElementaryTypeName",
                                "src": "134:7:4",
                                "typeDescriptions": {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                }
                            },
                            "nodeType": "Mapping",
                            "src": "125:26:4",
                            "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Claim_$654_storage_$",
                                "typeString": "mapping(bytes32 => struct ERC735.Claim)"
                            },
                            "valueType": {
                                "contractScope": null,
                                "id": 162,
                                "name": "Claim",
                                "nodeType": "UserDefinedTypeName",
                                "referencedDeclaration": 654,
                                "src": "145:5:4",
                                "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_Claim_$654_storage_ptr",
                                    "typeString": "struct ERC735.Claim"
                                }
                            }
                        },
                        "value": null,
                        "visibility": "internal"
                    },
                    {
                        "constant": false,
                        "id": 169,
                        "name": "claimsByType",
                        "nodeType": "VariableDeclaration",
                        "scope": 454,
                        "src": "164:43:4",
                        "stateVariable": true,
                        "storageLocation": "default",
                        "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_uint256_$_t_array$_t_bytes32_$dyn_storage_$",
                            "typeString": "mapping(uint256 => bytes32[])"
                        },
                        "typeName": {
                            "id": 168,
                            "keyType": {
                                "id": 165,
                                "name": "uint256",
                                "nodeType": "ElementaryTypeName",
                                "src": "173:7:4",
                                "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                }
                            },
                            "nodeType": "Mapping",
                            "src": "164:30:4",
                            "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_uint256_$_t_array$_t_bytes32_$dyn_storage_$",
                                "typeString": "mapping(uint256 => bytes32[])"
                            },
                            "valueType": {
                                "baseType": {
                                    "id": 166,
                                    "name": "bytes32",
                                    "nodeType": "ElementaryTypeName",
                                    "src": "184:7:4",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes32",
                                        "typeString": "bytes32"
                                    }
                                },
                                "id": 167,
                                "length": null,
                                "nodeType": "ArrayTypeName",
                                "src": "184:9:4",
                                "typeDescriptions": {
                                    "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr",
                                    "typeString": "bytes32[]"
                                }
                            }
                        },
                        "value": null,
                        "visibility": "internal"
                    },
                    {
                        "body": {
                            "id": 281,
                            "nodeType": "Block",
                            "src": "1582:798:4",
                            "statements": [
                                {
                                    "assignments": [
                                        187
                                    ],
                                    "declarations": [
                                        {
                                            "constant": false,
                                            "id": 187,
                                            "name": "claimId",
                                            "nodeType": "VariableDeclaration",
                                            "scope": 282,
                                            "src": "1592:15:4",
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_bytes32",
                                                "typeString": "bytes32"
                                            },
                                            "typeName": {
                                                "id": 186,
                                                "name": "bytes32",
                                                "nodeType": "ElementaryTypeName",
                                                "src": "1592:7:4",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes32",
                                                    "typeString": "bytes32"
                                                }
                                            },
                                            "value": null,
                                            "visibility": "internal"
                                        }
                                    ],
                                    "id": 192,
                                    "initialValue": {
                                        "argumentTypes": null,
                                        "arguments": [
                                            {
                                                "argumentTypes": null,
                                                "id": 189,
                                                "name": "_issuer",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 175,
                                                "src": "1620:7:4",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_address",
                                                    "typeString": "address"
                                                }
                                            },
                                            {
                                                "argumentTypes": null,
                                                "id": 190,
                                                "name": "_claimType",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 171,
                                                "src": "1629:10:4",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_address",
                                                    "typeString": "address"
                                                },
                                                {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                }
                                            ],
                                            "id": 188,
                                            "name": "keccak256",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 3554,
                                            "src": "1610:9:4",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
                                                "typeString": "function () pure returns (bytes32)"
                                            }
                                        },
                                        "id": 191,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "1610:30:4",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                        }
                                    },
                                    "nodeType": "VariableDeclarationStatement",
                                    "src": "1592:48:4"
                                },
                                {
                                    "condition": {
                                        "argumentTypes": null,
                                        "commonType": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        },
                                        "id": 198,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "leftExpression": {
                                            "argumentTypes": null,
                                            "expression": {
                                                "argumentTypes": null,
                                                "id": 193,
                                                "name": "msg",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 3560,
                                                "src": "1655:3:4",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_magic_message",
                                                    "typeString": "msg"
                                                }
                                            },
                                            "id": 194,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "memberName": "sender",
                                            "nodeType": "MemberAccess",
                                            "referencedDeclaration": null,
                                            "src": "1655:10:4",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_address",
                                                "typeString": "address"
                                            }
                                        },
                                        "nodeType": "BinaryOperation",
                                        "operator": "!=",
                                        "rightExpression": {
                                            "argumentTypes": null,
                                            "arguments": [
                                                {
                                                    "argumentTypes": null,
                                                    "id": 196,
                                                    "name": "this",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 3585,
                                                    "src": "1677:4:4",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_contract$_ClaimHolder_$454",
                                                        "typeString": "contract ClaimHolder"
                                                    }
                                                }
                                            ],
                                            "expression": {
                                                "argumentTypes": [
                                                    {
                                                        "typeIdentifier": "t_contract$_ClaimHolder_$454",
                                                        "typeString": "contract ClaimHolder"
                                                    }
                                                ],
                                                "id": 195,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": true,
                                                "lValueRequested": false,
                                                "nodeType": "ElementaryTypeNameExpression",
                                                "src": "1669:7:4",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_type$_t_address_$",
                                                    "typeString": "type(address)"
                                                },
                                                "typeName": "address"
                                            },
                                            "id": 197,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "kind": "typeConversion",
                                            "lValueRequested": false,
                                            "names": [],
                                            "nodeType": "FunctionCall",
                                            "src": "1669:13:4",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_address",
                                                "typeString": "address"
                                            }
                                        },
                                        "src": "1655:27:4",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "falseBody": null,
                                    "id": 211,
                                    "nodeType": "IfStatement",
                                    "src": "1651:147:4",
                                    "trueBody": {
                                        "id": 210,
                                        "nodeType": "Block",
                                        "src": "1684:114:4",
                                        "statements": [
                                            {
                                                "expression": {
                                                    "argumentTypes": null,
                                                    "arguments": [
                                                        {
                                                            "argumentTypes": null,
                                                            "arguments": [
                                                                {
                                                                    "argumentTypes": null,
                                                                    "arguments": [
                                                                        {
                                                                            "argumentTypes": null,
                                                                            "expression": {
                                                                                "argumentTypes": null,
                                                                                "id": 202,
                                                                                "name": "msg",
                                                                                "nodeType": "Identifier",
                                                                                "overloadedDeclarations": [],
                                                                                "referencedDeclaration": 3560,
                                                                                "src": "1730:3:4",
                                                                                "typeDescriptions": {
                                                                                    "typeIdentifier": "t_magic_message",
                                                                                    "typeString": "msg"
                                                                                }
                                                                            },
                                                                            "id": 203,
                                                                            "isConstant": false,
                                                                            "isLValue": false,
                                                                            "isPure": false,
                                                                            "lValueRequested": false,
                                                                            "memberName": "sender",
                                                                            "nodeType": "MemberAccess",
                                                                            "referencedDeclaration": null,
                                                                            "src": "1730:10:4",
                                                                            "typeDescriptions": {
                                                                                "typeIdentifier": "t_address",
                                                                                "typeString": "address"
                                                                            }
                                                                        }
                                                                    ],
                                                                    "expression": {
                                                                        "argumentTypes": [
                                                                            {
                                                                                "typeIdentifier": "t_address",
                                                                                "typeString": "address"
                                                                            }
                                                                        ],
                                                                        "id": 201,
                                                                        "name": "keccak256",
                                                                        "nodeType": "Identifier",
                                                                        "overloadedDeclarations": [],
                                                                        "referencedDeclaration": 3554,
                                                                        "src": "1720:9:4",
                                                                        "typeDescriptions": {
                                                                            "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
                                                                            "typeString": "function () pure returns (bytes32)"
                                                                        }
                                                                    },
                                                                    "id": 204,
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": false,
                                                                    "kind": "functionCall",
                                                                    "lValueRequested": false,
                                                                    "names": [],
                                                                    "nodeType": "FunctionCall",
                                                                    "src": "1720:21:4",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_bytes32",
                                                                        "typeString": "bytes32"
                                                                    }
                                                                },
                                                                {
                                                                    "argumentTypes": null,
                                                                    "hexValue": "33",
                                                                    "id": 205,
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": true,
                                                                    "kind": "number",
                                                                    "lValueRequested": false,
                                                                    "nodeType": "Literal",
                                                                    "src": "1743:1:4",
                                                                    "subdenomination": null,
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_rational_3_by_1",
                                                                        "typeString": "int_const 3"
                                                                    },
                                                                    "value": "3"
                                                                }
                                                            ],
                                                            "expression": {
                                                                "argumentTypes": [
                                                                    {
                                                                        "typeIdentifier": "t_bytes32",
                                                                        "typeString": "bytes32"
                                                                    },
                                                                    {
                                                                        "typeIdentifier": "t_rational_3_by_1",
                                                                        "typeString": "int_const 3"
                                                                    }
                                                                ],
                                                                "id": 200,
                                                                "name": "keyHasPurpose",
                                                                "nodeType": "Identifier",
                                                                "overloadedDeclarations": [],
                                                                "referencedDeclaration": 1258,
                                                                "src": "1706:13:4",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_uint256_$returns$_t_bool_$",
                                                                    "typeString": "function (bytes32,uint256) view returns (bool)"
                                                                }
                                                            },
                                                            "id": 206,
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": false,
                                                            "kind": "functionCall",
                                                            "lValueRequested": false,
                                                            "names": [],
                                                            "nodeType": "FunctionCall",
                                                            "src": "1706:39:4",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_bool",
                                                                "typeString": "bool"
                                                            }
                                                        },
                                                        {
                                                            "argumentTypes": null,
                                                            "hexValue": "53656e64657220646f6573206e6f74206861766520636c61696d207369676e6572206b6579",
                                                            "id": 207,
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": true,
                                                            "kind": "string",
                                                            "lValueRequested": false,
                                                            "nodeType": "Literal",
                                                            "src": "1747:39:4",
                                                            "subdenomination": null,
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_stringliteral_43a05665781b32cc8024b11b99adbd97618bb3fd5a923c29ee6dfc9548ed823a",
                                                                "typeString": "literal_string \"Sender does not have claim signer key\""
                                                            },
                                                            "value": "Sender does not have claim signer key"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "argumentTypes": [
                                                            {
                                                                "typeIdentifier": "t_bool",
                                                                "typeString": "bool"
                                                            },
                                                            {
                                                                "typeIdentifier": "t_stringliteral_43a05665781b32cc8024b11b99adbd97618bb3fd5a923c29ee6dfc9548ed823a",
                                                                "typeString": "literal_string \"Sender does not have claim signer key\""
                                                            }
                                                        ],
                                                        "id": 199,
                                                        "name": "require",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [
                                                            3563,
                                                            3564
                                                        ],
                                                        "referencedDeclaration": 3564,
                                                        "src": "1698:7:4",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                                                            "typeString": "function (bool,string memory) pure"
                                                        }
                                                    },
                                                    "id": 208,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "kind": "functionCall",
                                                    "lValueRequested": false,
                                                    "names": [],
                                                    "nodeType": "FunctionCall",
                                                    "src": "1698:89:4",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_tuple$__$",
                                                        "typeString": "tuple()"
                                                    }
                                                },
                                                "id": 209,
                                                "nodeType": "ExpressionStatement",
                                                "src": "1698:89:4"
                                            }
                                        ]
                                    }
                                },
                                {
                                    "condition": {
                                        "argumentTypes": null,
                                        "commonType": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        },
                                        "id": 217,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "leftExpression": {
                                            "argumentTypes": null,
                                            "expression": {
                                                "argumentTypes": null,
                                                "baseExpression": {
                                                    "argumentTypes": null,
                                                    "id": 212,
                                                    "name": "claims",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 164,
                                                    "src": "1812:6:4",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Claim_$654_storage_$",
                                                        "typeString": "mapping(bytes32 => struct ERC735.Claim storage ref)"
                                                    }
                                                },
                                                "id": 214,
                                                "indexExpression": {
                                                    "argumentTypes": null,
                                                    "id": 213,
                                                    "name": "claimId",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 187,
                                                    "src": "1819:7:4",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_bytes32",
                                                        "typeString": "bytes32"
                                                    }
                                                },
                                                "isConstant": false,
                                                "isLValue": true,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "nodeType": "IndexAccess",
                                                "src": "1812:15:4",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_struct$_Claim_$654_storage",
                                                    "typeString": "struct ERC735.Claim storage ref"
                                                }
                                            },
                                            "id": 215,
                                            "isConstant": false,
                                            "isLValue": true,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "memberName": "issuer",
                                            "nodeType": "MemberAccess",
                                            "referencedDeclaration": 647,
                                            "src": "1812:22:4",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_address",
                                                "typeString": "address"
                                            }
                                        },
                                        "nodeType": "BinaryOperation",
                                        "operator": "!=",
                                        "rightExpression": {
                                            "argumentTypes": null,
                                            "id": 216,
                                            "name": "_issuer",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 175,
                                            "src": "1838:7:4",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_address",
                                                "typeString": "address"
                                            }
                                        },
                                        "src": "1812:33:4",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "falseBody": null,
                                    "id": 226,
                                    "nodeType": "IfStatement",
                                    "src": "1808:102:4",
                                    "trueBody": {
                                        "id": 225,
                                        "nodeType": "Block",
                                        "src": "1847:63:4",
                                        "statements": [
                                            {
                                                "expression": {
                                                    "argumentTypes": null,
                                                    "arguments": [
                                                        {
                                                            "argumentTypes": null,
                                                            "id": 222,
                                                            "name": "claimId",
                                                            "nodeType": "Identifier",
                                                            "overloadedDeclarations": [],
                                                            "referencedDeclaration": 187,
                                                            "src": "1891:7:4",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_bytes32",
                                                                "typeString": "bytes32"
                                                            }
                                                        }
                                                    ],
                                                    "expression": {
                                                        "argumentTypes": [
                                                            {
                                                                "typeIdentifier": "t_bytes32",
                                                                "typeString": "bytes32"
                                                            }
                                                        ],
                                                        "expression": {
                                                            "argumentTypes": null,
                                                            "baseExpression": {
                                                                "argumentTypes": null,
                                                                "id": 218,
                                                                "name": "claimsByType",
                                                                "nodeType": "Identifier",
                                                                "overloadedDeclarations": [],
                                                                "referencedDeclaration": 169,
                                                                "src": "1861:12:4",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_mapping$_t_uint256_$_t_array$_t_bytes32_$dyn_storage_$",
                                                                    "typeString": "mapping(uint256 => bytes32[] storage ref)"
                                                                }
                                                            },
                                                            "id": 220,
                                                            "indexExpression": {
                                                                "argumentTypes": null,
                                                                "id": 219,
                                                                "name": "_claimType",
                                                                "nodeType": "Identifier",
                                                                "overloadedDeclarations": [],
                                                                "referencedDeclaration": 171,
                                                                "src": "1874:10:4",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_uint256",
                                                                    "typeString": "uint256"
                                                                }
                                                            },
                                                            "isConstant": false,
                                                            "isLValue": true,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "nodeType": "IndexAccess",
                                                            "src": "1861:24:4",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_array$_t_bytes32_$dyn_storage",
                                                                "typeString": "bytes32[] storage ref"
                                                            }
                                                        },
                                                        "id": 221,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": false,
                                                        "lValueRequested": false,
                                                        "memberName": "push",
                                                        "nodeType": "MemberAccess",
                                                        "referencedDeclaration": null,
                                                        "src": "1861:29:4",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_function_arraypush_nonpayable$_t_bytes32_$returns$_t_uint256_$",
                                                            "typeString": "function (bytes32) returns (uint256)"
                                                        }
                                                    },
                                                    "id": 223,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "kind": "functionCall",
                                                    "lValueRequested": false,
                                                    "names": [],
                                                    "nodeType": "FunctionCall",
                                                    "src": "1861:38:4",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_uint256",
                                                        "typeString": "uint256"
                                                    }
                                                },
                                                "id": 224,
                                                "nodeType": "ExpressionStatement",
                                                "src": "1861:38:4"
                                            }
                                        ]
                                    }
                                },
                                {
                                    "expression": {
                                        "argumentTypes": null,
                                        "id": 232,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "leftHandSide": {
                                            "argumentTypes": null,
                                            "expression": {
                                                "argumentTypes": null,
                                                "baseExpression": {
                                                    "argumentTypes": null,
                                                    "id": 227,
                                                    "name": "claims",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 164,
                                                    "src": "1920:6:4",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Claim_$654_storage_$",
                                                        "typeString": "mapping(bytes32 => struct ERC735.Claim storage ref)"
                                                    }
                                                },
                                                "id": 229,
                                                "indexExpression": {
                                                    "argumentTypes": null,
                                                    "id": 228,
                                                    "name": "claimId",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 187,
                                                    "src": "1927:7:4",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_bytes32",
                                                        "typeString": "bytes32"
                                                    }
                                                },
                                                "isConstant": false,
                                                "isLValue": true,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "nodeType": "IndexAccess",
                                                "src": "1920:15:4",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_struct$_Claim_$654_storage",
                                                    "typeString": "struct ERC735.Claim storage ref"
                                                }
                                            },
                                            "id": 230,
                                            "isConstant": false,
                                            "isLValue": true,
                                            "isPure": false,
                                            "lValueRequested": true,
                                            "memberName": "claimType",
                                            "nodeType": "MemberAccess",
                                            "referencedDeclaration": 643,
                                            "src": "1920:25:4",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                            }
                                        },
                                        "nodeType": "Assignment",
                                        "operator": "=",
                                        "rightHandSide": {
                                            "argumentTypes": null,
                                            "id": 231,
                                            "name": "_claimType",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 171,
                                            "src": "1948:10:4",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                            }
                                        },
                                        "src": "1920:38:4",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "id": 233,
                                    "nodeType": "ExpressionStatement",
                                    "src": "1920:38:4"
                                },
                                {
                                    "expression": {
                                        "argumentTypes": null,
                                        "id": 239,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "leftHandSide": {
                                            "argumentTypes": null,
                                            "expression": {
                                                "argumentTypes": null,
                                                "baseExpression": {
                                                    "argumentTypes": null,
                                                    "id": 234,
                                                    "name": "claims",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 164,
                                                    "src": "1968:6:4",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Claim_$654_storage_$",
                                                        "typeString": "mapping(bytes32 => struct ERC735.Claim storage ref)"
                                                    }
                                                },
                                                "id": 236,
                                                "indexExpression": {
                                                    "argumentTypes": null,
                                                    "id": 235,
                                                    "name": "claimId",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 187,
                                                    "src": "1975:7:4",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_bytes32",
                                                        "typeString": "bytes32"
                                                    }
                                                },
                                                "isConstant": false,
                                                "isLValue": true,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "nodeType": "IndexAccess",
                                                "src": "1968:15:4",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_struct$_Claim_$654_storage",
                                                    "typeString": "struct ERC735.Claim storage ref"
                                                }
                                            },
                                            "id": 237,
                                            "isConstant": false,
                                            "isLValue": true,
                                            "isPure": false,
                                            "lValueRequested": true,
                                            "memberName": "scheme",
                                            "nodeType": "MemberAccess",
                                            "referencedDeclaration": 645,
                                            "src": "1968:22:4",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                            }
                                        },
                                        "nodeType": "Assignment",
                                        "operator": "=",
                                        "rightHandSide": {
                                            "argumentTypes": null,
                                            "id": 238,
                                            "name": "_scheme",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 173,
                                            "src": "1993:7:4",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                            }
                                        },
                                        "src": "1968:32:4",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "id": 240,
                                    "nodeType": "ExpressionStatement",
                                    "src": "1968:32:4"
                                },
                                {
                                    "expression": {
                                        "argumentTypes": null,
                                        "id": 246,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "leftHandSide": {
                                            "argumentTypes": null,
                                            "expression": {
                                                "argumentTypes": null,
                                                "baseExpression": {
                                                    "argumentTypes": null,
                                                    "id": 241,
                                                    "name": "claims",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 164,
                                                    "src": "2010:6:4",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Claim_$654_storage_$",
                                                        "typeString": "mapping(bytes32 => struct ERC735.Claim storage ref)"
                                                    }
                                                },
                                                "id": 243,
                                                "indexExpression": {
                                                    "argumentTypes": null,
                                                    "id": 242,
                                                    "name": "claimId",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 187,
                                                    "src": "2017:7:4",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_bytes32",
                                                        "typeString": "bytes32"
                                                    }
                                                },
                                                "isConstant": false,
                                                "isLValue": true,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "nodeType": "IndexAccess",
                                                "src": "2010:15:4",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_struct$_Claim_$654_storage",
                                                    "typeString": "struct ERC735.Claim storage ref"
                                                }
                                            },
                                            "id": 244,
                                            "isConstant": false,
                                            "isLValue": true,
                                            "isPure": false,
                                            "lValueRequested": true,
                                            "memberName": "issuer",
                                            "nodeType": "MemberAccess",
                                            "referencedDeclaration": 647,
                                            "src": "2010:22:4",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_address",
                                                "typeString": "address"
                                            }
                                        },
                                        "nodeType": "Assignment",
                                        "operator": "=",
                                        "rightHandSide": {
                                            "argumentTypes": null,
                                            "id": 245,
                                            "name": "_issuer",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 175,
                                            "src": "2035:7:4",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_address",
                                                "typeString": "address"
                                            }
                                        },
                                        "src": "2010:32:4",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "id": 247,
                                    "nodeType": "ExpressionStatement",
                                    "src": "2010:32:4"
                                },
                                {
                                    "expression": {
                                        "argumentTypes": null,
                                        "id": 253,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "leftHandSide": {
                                            "argumentTypes": null,
                                            "expression": {
                                                "argumentTypes": null,
                                                "baseExpression": {
                                                    "argumentTypes": null,
                                                    "id": 248,
                                                    "name": "claims",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 164,
                                                    "src": "2052:6:4",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Claim_$654_storage_$",
                                                        "typeString": "mapping(bytes32 => struct ERC735.Claim storage ref)"
                                                    }
                                                },
                                                "id": 250,
                                                "indexExpression": {
                                                    "argumentTypes": null,
                                                    "id": 249,
                                                    "name": "claimId",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 187,
                                                    "src": "2059:7:4",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_bytes32",
                                                        "typeString": "bytes32"
                                                    }
                                                },
                                                "isConstant": false,
                                                "isLValue": true,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "nodeType": "IndexAccess",
                                                "src": "2052:15:4",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_struct$_Claim_$654_storage",
                                                    "typeString": "struct ERC735.Claim storage ref"
                                                }
                                            },
                                            "id": 251,
                                            "isConstant": false,
                                            "isLValue": true,
                                            "isPure": false,
                                            "lValueRequested": true,
                                            "memberName": "signature",
                                            "nodeType": "MemberAccess",
                                            "referencedDeclaration": 649,
                                            "src": "2052:25:4",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_bytes_storage",
                                                "typeString": "bytes storage ref"
                                            }
                                        },
                                        "nodeType": "Assignment",
                                        "operator": "=",
                                        "rightHandSide": {
                                            "argumentTypes": null,
                                            "id": 252,
                                            "name": "_signature",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 177,
                                            "src": "2080:10:4",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_bytes_memory_ptr",
                                                "typeString": "bytes memory"
                                            }
                                        },
                                        "src": "2052:38:4",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes_storage",
                                            "typeString": "bytes storage ref"
                                        }
                                    },
                                    "id": 254,
                                    "nodeType": "ExpressionStatement",
                                    "src": "2052:38:4"
                                },
                                {
                                    "expression": {
                                        "argumentTypes": null,
                                        "id": 260,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "leftHandSide": {
                                            "argumentTypes": null,
                                            "expression": {
                                                "argumentTypes": null,
                                                "baseExpression": {
                                                    "argumentTypes": null,
                                                    "id": 255,
                                                    "name": "claims",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 164,
                                                    "src": "2100:6:4",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Claim_$654_storage_$",
                                                        "typeString": "mapping(bytes32 => struct ERC735.Claim storage ref)"
                                                    }
                                                },
                                                "id": 257,
                                                "indexExpression": {
                                                    "argumentTypes": null,
                                                    "id": 256,
                                                    "name": "claimId",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 187,
                                                    "src": "2107:7:4",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_bytes32",
                                                        "typeString": "bytes32"
                                                    }
                                                },
                                                "isConstant": false,
                                                "isLValue": true,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "nodeType": "IndexAccess",
                                                "src": "2100:15:4",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_struct$_Claim_$654_storage",
                                                    "typeString": "struct ERC735.Claim storage ref"
                                                }
                                            },
                                            "id": 258,
                                            "isConstant": false,
                                            "isLValue": true,
                                            "isPure": false,
                                            "lValueRequested": true,
                                            "memberName": "data",
                                            "nodeType": "MemberAccess",
                                            "referencedDeclaration": 651,
                                            "src": "2100:20:4",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_bytes_storage",
                                                "typeString": "bytes storage ref"
                                            }
                                        },
                                        "nodeType": "Assignment",
                                        "operator": "=",
                                        "rightHandSide": {
                                            "argumentTypes": null,
                                            "id": 259,
                                            "name": "_data",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 179,
                                            "src": "2123:5:4",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_bytes_memory_ptr",
                                                "typeString": "bytes memory"
                                            }
                                        },
                                        "src": "2100:28:4",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes_storage",
                                            "typeString": "bytes storage ref"
                                        }
                                    },
                                    "id": 261,
                                    "nodeType": "ExpressionStatement",
                                    "src": "2100:28:4"
                                },
                                {
                                    "expression": {
                                        "argumentTypes": null,
                                        "id": 267,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "leftHandSide": {
                                            "argumentTypes": null,
                                            "expression": {
                                                "argumentTypes": null,
                                                "baseExpression": {
                                                    "argumentTypes": null,
                                                    "id": 262,
                                                    "name": "claims",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 164,
                                                    "src": "2138:6:4",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Claim_$654_storage_$",
                                                        "typeString": "mapping(bytes32 => struct ERC735.Claim storage ref)"
                                                    }
                                                },
                                                "id": 264,
                                                "indexExpression": {
                                                    "argumentTypes": null,
                                                    "id": 263,
                                                    "name": "claimId",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 187,
                                                    "src": "2145:7:4",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_bytes32",
                                                        "typeString": "bytes32"
                                                    }
                                                },
                                                "isConstant": false,
                                                "isLValue": true,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "nodeType": "IndexAccess",
                                                "src": "2138:15:4",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_struct$_Claim_$654_storage",
                                                    "typeString": "struct ERC735.Claim storage ref"
                                                }
                                            },
                                            "id": 265,
                                            "isConstant": false,
                                            "isLValue": true,
                                            "isPure": false,
                                            "lValueRequested": true,
                                            "memberName": "uri",
                                            "nodeType": "MemberAccess",
                                            "referencedDeclaration": 653,
                                            "src": "2138:19:4",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_string_storage",
                                                "typeString": "string storage ref"
                                            }
                                        },
                                        "nodeType": "Assignment",
                                        "operator": "=",
                                        "rightHandSide": {
                                            "argumentTypes": null,
                                            "id": 266,
                                            "name": "_uri",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 181,
                                            "src": "2160:4:4",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_string_memory_ptr",
                                                "typeString": "string memory"
                                            }
                                        },
                                        "src": "2138:26:4",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage",
                                            "typeString": "string storage ref"
                                        }
                                    },
                                    "id": 268,
                                    "nodeType": "ExpressionStatement",
                                    "src": "2138:26:4"
                                },
                                {
                                    "eventCall": {
                                        "argumentTypes": null,
                                        "arguments": [
                                            {
                                                "argumentTypes": null,
                                                "id": 270,
                                                "name": "claimId",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 187,
                                                "src": "2204:7:4",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes32",
                                                    "typeString": "bytes32"
                                                }
                                            },
                                            {
                                                "argumentTypes": null,
                                                "id": 271,
                                                "name": "_claimType",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 171,
                                                "src": "2225:10:4",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                }
                                            },
                                            {
                                                "argumentTypes": null,
                                                "id": 272,
                                                "name": "_scheme",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 173,
                                                "src": "2249:7:4",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                }
                                            },
                                            {
                                                "argumentTypes": null,
                                                "id": 273,
                                                "name": "_issuer",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 175,
                                                "src": "2270:7:4",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_address",
                                                    "typeString": "address"
                                                }
                                            },
                                            {
                                                "argumentTypes": null,
                                                "id": 274,
                                                "name": "_signature",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 177,
                                                "src": "2291:10:4",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            },
                                            {
                                                "argumentTypes": null,
                                                "id": 275,
                                                "name": "_data",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 179,
                                                "src": "2315:5:4",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            },
                                            {
                                                "argumentTypes": null,
                                                "id": 276,
                                                "name": "_uri",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 181,
                                                "src": "2334:4:4",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_string_memory_ptr",
                                                    "typeString": "string memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes32",
                                                    "typeString": "bytes32"
                                                },
                                                {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                },
                                                {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                },
                                                {
                                                    "typeIdentifier": "t_address",
                                                    "typeString": "address"
                                                },
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                },
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                },
                                                {
                                                    "typeIdentifier": "t_string_memory_ptr",
                                                    "typeString": "string memory"
                                                }
                                            ],
                                            "id": 269,
                                            "name": "ClaimAdded",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 609,
                                            "src": "2180:10:4",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$_t_uint256_$_t_address_$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes32,uint256,uint256,address,bytes memory,bytes memory,string memory)"
                                            }
                                        },
                                        "id": 277,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "2180:168:4",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 278,
                                    "nodeType": "EmitStatement",
                                    "src": "2175:173:4"
                                },
                                {
                                    "expression": {
                                        "argumentTypes": null,
                                        "id": 279,
                                        "name": "claimId",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 187,
                                        "src": "2366:7:4",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                        }
                                    },
                                    "functionReturnParameters": 185,
                                    "id": 280,
                                    "nodeType": "Return",
                                    "src": "2359:14:4"
                                }
                            ]
                        },
                        "documentation": "@notice Implementation of the addClaim function from the ERC-735 standard\n Require that the msg.sender has claim signer key.\n    * @param _claimType The type of claim\n@param _scheme The scheme with which this claim SHOULD be verified or how it should be processed.\n@param _issuer The issuers identity contract address, or the address used to sign the above signature.\n@param _signature Signature which is the proof that the claim issuer issued a claim of claimType for this identity.\nit MUST be a signed message of the following structure: keccak256(address identityHolder_address, uint256 _ claimType, bytes data)\nor keccak256(abi.encode(identityHolder_address, claimType, data))\n@param _data The hash of the claim data, sitting in another location, a bit-mask, call data, or actual data based on the claim scheme.\n@param _uri The location of the claim, this can be HTTP links, swarm hashes, IPFS hashes, and such.\n    * @return Returns claimRequestId: COULD be send to the approve function, to approve or reject this claim.\ntriggers ClaimAdded event.",
                        "id": 282,
                        "implemented": true,
                        "isConstructor": false,
                        "isDeclaredConst": false,
                        "modifiers": [],
                        "name": "addClaim",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 182,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 171,
                                    "name": "_claimType",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 282,
                                    "src": "1379:18:4",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 170,
                                        "name": "uint256",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "1379:7:4",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 173,
                                    "name": "_scheme",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 282,
                                    "src": "1407:15:4",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 172,
                                        "name": "uint256",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "1407:7:4",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 175,
                                    "name": "_issuer",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 282,
                                    "src": "1432:15:4",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 174,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "1432:7:4",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 177,
                                    "name": "_signature",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 282,
                                    "src": "1457:16:4",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes_memory_ptr",
                                        "typeString": "bytes"
                                    },
                                    "typeName": {
                                        "id": 176,
                                        "name": "bytes",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "1457:5:4",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes_storage_ptr",
                                            "typeString": "bytes"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 179,
                                    "name": "_data",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 282,
                                    "src": "1483:11:4",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes_memory_ptr",
                                        "typeString": "bytes"
                                    },
                                    "typeName": {
                                        "id": 178,
                                        "name": "bytes",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "1483:5:4",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes_storage_ptr",
                                            "typeString": "bytes"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 181,
                                    "name": "_uri",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 282,
                                    "src": "1504:11:4",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 180,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "1504:6:4",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                }
                            ],
                            "src": "1369:152:4"
                        },
                        "payable": false,
                        "returnParameters": {
                            "id": 185,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 184,
                                    "name": "claimRequestId",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 282,
                                    "src": "1554:22:4",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes32",
                                        "typeString": "bytes32"
                                    },
                                    "typeName": {
                                        "id": 183,
                                        "name": "bytes32",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "1554:7:4",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                }
                            ],
                            "src": "1553:24:4"
                        },
                        "scope": 454,
                        "src": "1352:1028:4",
                        "stateMutability": "nonpayable",
                        "superFunction": 696,
                        "visibility": "public"
                    },
                    {
                        "body": {
                            "id": 395,
                            "nodeType": "Block",
                            "src": "2888:827:4",
                            "statements": [
                                {
                                    "condition": {
                                        "argumentTypes": null,
                                        "commonType": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        },
                                        "id": 294,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "leftExpression": {
                                            "argumentTypes": null,
                                            "expression": {
                                                "argumentTypes": null,
                                                "id": 289,
                                                "name": "msg",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 3560,
                                                "src": "2902:3:4",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_magic_message",
                                                    "typeString": "msg"
                                                }
                                            },
                                            "id": 290,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "memberName": "sender",
                                            "nodeType": "MemberAccess",
                                            "referencedDeclaration": null,
                                            "src": "2902:10:4",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_address",
                                                "typeString": "address"
                                            }
                                        },
                                        "nodeType": "BinaryOperation",
                                        "operator": "!=",
                                        "rightExpression": {
                                            "argumentTypes": null,
                                            "arguments": [
                                                {
                                                    "argumentTypes": null,
                                                    "id": 292,
                                                    "name": "this",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 3585,
                                                    "src": "2924:4:4",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_contract$_ClaimHolder_$454",
                                                        "typeString": "contract ClaimHolder"
                                                    }
                                                }
                                            ],
                                            "expression": {
                                                "argumentTypes": [
                                                    {
                                                        "typeIdentifier": "t_contract$_ClaimHolder_$454",
                                                        "typeString": "contract ClaimHolder"
                                                    }
                                                ],
                                                "id": 291,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": true,
                                                "lValueRequested": false,
                                                "nodeType": "ElementaryTypeNameExpression",
                                                "src": "2916:7:4",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_type$_t_address_$",
                                                    "typeString": "type(address)"
                                                },
                                                "typeName": "address"
                                            },
                                            "id": 293,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "kind": "typeConversion",
                                            "lValueRequested": false,
                                            "names": [],
                                            "nodeType": "FunctionCall",
                                            "src": "2916:13:4",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_address",
                                                "typeString": "address"
                                            }
                                        },
                                        "src": "2902:27:4",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "falseBody": null,
                                    "id": 307,
                                    "nodeType": "IfStatement",
                                    "src": "2898:145:4",
                                    "trueBody": {
                                        "id": 306,
                                        "nodeType": "Block",
                                        "src": "2931:112:4",
                                        "statements": [
                                            {
                                                "expression": {
                                                    "argumentTypes": null,
                                                    "arguments": [
                                                        {
                                                            "argumentTypes": null,
                                                            "arguments": [
                                                                {
                                                                    "argumentTypes": null,
                                                                    "arguments": [
                                                                        {
                                                                            "argumentTypes": null,
                                                                            "expression": {
                                                                                "argumentTypes": null,
                                                                                "id": 298,
                                                                                "name": "msg",
                                                                                "nodeType": "Identifier",
                                                                                "overloadedDeclarations": [],
                                                                                "referencedDeclaration": 3560,
                                                                                "src": "2977:3:4",
                                                                                "typeDescriptions": {
                                                                                    "typeIdentifier": "t_magic_message",
                                                                                    "typeString": "msg"
                                                                                }
                                                                            },
                                                                            "id": 299,
                                                                            "isConstant": false,
                                                                            "isLValue": false,
                                                                            "isPure": false,
                                                                            "lValueRequested": false,
                                                                            "memberName": "sender",
                                                                            "nodeType": "MemberAccess",
                                                                            "referencedDeclaration": null,
                                                                            "src": "2977:10:4",
                                                                            "typeDescriptions": {
                                                                                "typeIdentifier": "t_address",
                                                                                "typeString": "address"
                                                                            }
                                                                        }
                                                                    ],
                                                                    "expression": {
                                                                        "argumentTypes": [
                                                                            {
                                                                                "typeIdentifier": "t_address",
                                                                                "typeString": "address"
                                                                            }
                                                                        ],
                                                                        "id": 297,
                                                                        "name": "keccak256",
                                                                        "nodeType": "Identifier",
                                                                        "overloadedDeclarations": [],
                                                                        "referencedDeclaration": 3554,
                                                                        "src": "2967:9:4",
                                                                        "typeDescriptions": {
                                                                            "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
                                                                            "typeString": "function () pure returns (bytes32)"
                                                                        }
                                                                    },
                                                                    "id": 300,
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": false,
                                                                    "kind": "functionCall",
                                                                    "lValueRequested": false,
                                                                    "names": [],
                                                                    "nodeType": "FunctionCall",
                                                                    "src": "2967:21:4",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_bytes32",
                                                                        "typeString": "bytes32"
                                                                    }
                                                                },
                                                                {
                                                                    "argumentTypes": null,
                                                                    "hexValue": "31",
                                                                    "id": 301,
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": true,
                                                                    "kind": "number",
                                                                    "lValueRequested": false,
                                                                    "nodeType": "Literal",
                                                                    "src": "2990:1:4",
                                                                    "subdenomination": null,
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_rational_1_by_1",
                                                                        "typeString": "int_const 1"
                                                                    },
                                                                    "value": "1"
                                                                }
                                                            ],
                                                            "expression": {
                                                                "argumentTypes": [
                                                                    {
                                                                        "typeIdentifier": "t_bytes32",
                                                                        "typeString": "bytes32"
                                                                    },
                                                                    {
                                                                        "typeIdentifier": "t_rational_1_by_1",
                                                                        "typeString": "int_const 1"
                                                                    }
                                                                ],
                                                                "id": 296,
                                                                "name": "keyHasPurpose",
                                                                "nodeType": "Identifier",
                                                                "overloadedDeclarations": [],
                                                                "referencedDeclaration": 1258,
                                                                "src": "2953:13:4",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_uint256_$returns$_t_bool_$",
                                                                    "typeString": "function (bytes32,uint256) view returns (bool)"
                                                                }
                                                            },
                                                            "id": 302,
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": false,
                                                            "kind": "functionCall",
                                                            "lValueRequested": false,
                                                            "names": [],
                                                            "nodeType": "FunctionCall",
                                                            "src": "2953:39:4",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_bool",
                                                                "typeString": "bool"
                                                            }
                                                        },
                                                        {
                                                            "argumentTypes": null,
                                                            "hexValue": "53656e64657220646f6573206e6f742068617665206d616e6167656d656e74206b6579",
                                                            "id": 303,
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": true,
                                                            "kind": "string",
                                                            "lValueRequested": false,
                                                            "nodeType": "Literal",
                                                            "src": "2994:37:4",
                                                            "subdenomination": null,
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_stringliteral_ac6b3bc9d0622dda8fc2f421b9f671767c5b983d0415995ab909c75c3ef27f29",
                                                                "typeString": "literal_string \"Sender does not have management key\""
                                                            },
                                                            "value": "Sender does not have management key"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "argumentTypes": [
                                                            {
                                                                "typeIdentifier": "t_bool",
                                                                "typeString": "bool"
                                                            },
                                                            {
                                                                "typeIdentifier": "t_stringliteral_ac6b3bc9d0622dda8fc2f421b9f671767c5b983d0415995ab909c75c3ef27f29",
                                                                "typeString": "literal_string \"Sender does not have management key\""
                                                            }
                                                        ],
                                                        "id": 295,
                                                        "name": "require",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [
                                                            3563,
                                                            3564
                                                        ],
                                                        "referencedDeclaration": 3564,
                                                        "src": "2945:7:4",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                                                            "typeString": "function (bool,string memory) pure"
                                                        }
                                                    },
                                                    "id": 304,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "kind": "functionCall",
                                                    "lValueRequested": false,
                                                    "names": [],
                                                    "nodeType": "FunctionCall",
                                                    "src": "2945:87:4",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_tuple$__$",
                                                        "typeString": "tuple()"
                                                    }
                                                },
                                                "id": 305,
                                                "nodeType": "ExpressionStatement",
                                                "src": "2945:87:4"
                                            }
                                        ]
                                    }
                                },
                                {
                                    "eventCall": {
                                        "argumentTypes": null,
                                        "arguments": [
                                            {
                                                "argumentTypes": null,
                                                "id": 309,
                                                "name": "_claimId",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 284,
                                                "src": "3084:8:4",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes32",
                                                    "typeString": "bytes32"
                                                }
                                            },
                                            {
                                                "argumentTypes": null,
                                                "expression": {
                                                    "argumentTypes": null,
                                                    "baseExpression": {
                                                        "argumentTypes": null,
                                                        "id": 310,
                                                        "name": "claims",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 164,
                                                        "src": "3106:6:4",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Claim_$654_storage_$",
                                                            "typeString": "mapping(bytes32 => struct ERC735.Claim storage ref)"
                                                        }
                                                    },
                                                    "id": 312,
                                                    "indexExpression": {
                                                        "argumentTypes": null,
                                                        "id": 311,
                                                        "name": "_claimId",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 284,
                                                        "src": "3113:8:4",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bytes32",
                                                            "typeString": "bytes32"
                                                        }
                                                    },
                                                    "isConstant": false,
                                                    "isLValue": true,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "nodeType": "IndexAccess",
                                                    "src": "3106:16:4",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_struct$_Claim_$654_storage",
                                                        "typeString": "struct ERC735.Claim storage ref"
                                                    }
                                                },
                                                "id": 313,
                                                "isConstant": false,
                                                "isLValue": true,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "memberName": "claimType",
                                                "nodeType": "MemberAccess",
                                                "referencedDeclaration": 643,
                                                "src": "3106:26:4",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                }
                                            },
                                            {
                                                "argumentTypes": null,
                                                "expression": {
                                                    "argumentTypes": null,
                                                    "baseExpression": {
                                                        "argumentTypes": null,
                                                        "id": 314,
                                                        "name": "claims",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 164,
                                                        "src": "3146:6:4",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Claim_$654_storage_$",
                                                            "typeString": "mapping(bytes32 => struct ERC735.Claim storage ref)"
                                                        }
                                                    },
                                                    "id": 316,
                                                    "indexExpression": {
                                                        "argumentTypes": null,
                                                        "id": 315,
                                                        "name": "_claimId",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 284,
                                                        "src": "3153:8:4",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bytes32",
                                                            "typeString": "bytes32"
                                                        }
                                                    },
                                                    "isConstant": false,
                                                    "isLValue": true,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "nodeType": "IndexAccess",
                                                    "src": "3146:16:4",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_struct$_Claim_$654_storage",
                                                        "typeString": "struct ERC735.Claim storage ref"
                                                    }
                                                },
                                                "id": 317,
                                                "isConstant": false,
                                                "isLValue": true,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "memberName": "scheme",
                                                "nodeType": "MemberAccess",
                                                "referencedDeclaration": 645,
                                                "src": "3146:23:4",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                }
                                            },
                                            {
                                                "argumentTypes": null,
                                                "expression": {
                                                    "argumentTypes": null,
                                                    "baseExpression": {
                                                        "argumentTypes": null,
                                                        "id": 318,
                                                        "name": "claims",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 164,
                                                        "src": "3183:6:4",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Claim_$654_storage_$",
                                                            "typeString": "mapping(bytes32 => struct ERC735.Claim storage ref)"
                                                        }
                                                    },
                                                    "id": 320,
                                                    "indexExpression": {
                                                        "argumentTypes": null,
                                                        "id": 319,
                                                        "name": "_claimId",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 284,
                                                        "src": "3190:8:4",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bytes32",
                                                            "typeString": "bytes32"
                                                        }
                                                    },
                                                    "isConstant": false,
                                                    "isLValue": true,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "nodeType": "IndexAccess",
                                                    "src": "3183:16:4",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_struct$_Claim_$654_storage",
                                                        "typeString": "struct ERC735.Claim storage ref"
                                                    }
                                                },
                                                "id": 321,
                                                "isConstant": false,
                                                "isLValue": true,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "memberName": "issuer",
                                                "nodeType": "MemberAccess",
                                                "referencedDeclaration": 647,
                                                "src": "3183:23:4",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_address",
                                                    "typeString": "address"
                                                }
                                            },
                                            {
                                                "argumentTypes": null,
                                                "expression": {
                                                    "argumentTypes": null,
                                                    "baseExpression": {
                                                        "argumentTypes": null,
                                                        "id": 322,
                                                        "name": "claims",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 164,
                                                        "src": "3220:6:4",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Claim_$654_storage_$",
                                                            "typeString": "mapping(bytes32 => struct ERC735.Claim storage ref)"
                                                        }
                                                    },
                                                    "id": 324,
                                                    "indexExpression": {
                                                        "argumentTypes": null,
                                                        "id": 323,
                                                        "name": "_claimId",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 284,
                                                        "src": "3227:8:4",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bytes32",
                                                            "typeString": "bytes32"
                                                        }
                                                    },
                                                    "isConstant": false,
                                                    "isLValue": true,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "nodeType": "IndexAccess",
                                                    "src": "3220:16:4",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_struct$_Claim_$654_storage",
                                                        "typeString": "struct ERC735.Claim storage ref"
                                                    }
                                                },
                                                "id": 325,
                                                "isConstant": false,
                                                "isLValue": true,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "memberName": "signature",
                                                "nodeType": "MemberAccess",
                                                "referencedDeclaration": 649,
                                                "src": "3220:26:4",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_storage",
                                                    "typeString": "bytes storage ref"
                                                }
                                            },
                                            {
                                                "argumentTypes": null,
                                                "expression": {
                                                    "argumentTypes": null,
                                                    "baseExpression": {
                                                        "argumentTypes": null,
                                                        "id": 326,
                                                        "name": "claims",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 164,
                                                        "src": "3260:6:4",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Claim_$654_storage_$",
                                                            "typeString": "mapping(bytes32 => struct ERC735.Claim storage ref)"
                                                        }
                                                    },
                                                    "id": 328,
                                                    "indexExpression": {
                                                        "argumentTypes": null,
                                                        "id": 327,
                                                        "name": "_claimId",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 284,
                                                        "src": "3267:8:4",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bytes32",
                                                            "typeString": "bytes32"
                                                        }
                                                    },
                                                    "isConstant": false,
                                                    "isLValue": true,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "nodeType": "IndexAccess",
                                                    "src": "3260:16:4",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_struct$_Claim_$654_storage",
                                                        "typeString": "struct ERC735.Claim storage ref"
                                                    }
                                                },
                                                "id": 329,
                                                "isConstant": false,
                                                "isLValue": true,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "memberName": "data",
                                                "nodeType": "MemberAccess",
                                                "referencedDeclaration": 651,
                                                "src": "3260:21:4",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_storage",
                                                    "typeString": "bytes storage ref"
                                                }
                                            },
                                            {
                                                "argumentTypes": null,
                                                "expression": {
                                                    "argumentTypes": null,
                                                    "baseExpression": {
                                                        "argumentTypes": null,
                                                        "id": 330,
                                                        "name": "claims",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 164,
                                                        "src": "3295:6:4",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Claim_$654_storage_$",
                                                            "typeString": "mapping(bytes32 => struct ERC735.Claim storage ref)"
                                                        }
                                                    },
                                                    "id": 332,
                                                    "indexExpression": {
                                                        "argumentTypes": null,
                                                        "id": 331,
                                                        "name": "_claimId",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 284,
                                                        "src": "3302:8:4",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bytes32",
                                                            "typeString": "bytes32"
                                                        }
                                                    },
                                                    "isConstant": false,
                                                    "isLValue": true,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "nodeType": "IndexAccess",
                                                    "src": "3295:16:4",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_struct$_Claim_$654_storage",
                                                        "typeString": "struct ERC735.Claim storage ref"
                                                    }
                                                },
                                                "id": 333,
                                                "isConstant": false,
                                                "isLValue": true,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "memberName": "uri",
                                                "nodeType": "MemberAccess",
                                                "referencedDeclaration": 653,
                                                "src": "3295:20:4",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_string_storage",
                                                    "typeString": "string storage ref"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes32",
                                                    "typeString": "bytes32"
                                                },
                                                {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                },
                                                {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                },
                                                {
                                                    "typeIdentifier": "t_address",
                                                    "typeString": "address"
                                                },
                                                {
                                                    "typeIdentifier": "t_bytes_storage",
                                                    "typeString": "bytes storage ref"
                                                },
                                                {
                                                    "typeIdentifier": "t_bytes_storage",
                                                    "typeString": "bytes storage ref"
                                                },
                                                {
                                                    "typeIdentifier": "t_string_storage",
                                                    "typeString": "string storage ref"
                                                }
                                            ],
                                            "id": 308,
                                            "name": "ClaimRemoved",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 625,
                                            "src": "3058:12:4",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$_t_uint256_$_t_address_$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$__$",
                                                "typeString": "function (bytes32,uint256,uint256,address,bytes memory,bytes memory,string memory)"
                                            }
                                        },
                                        "id": 334,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "3058:267:4",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 335,
                                    "nodeType": "EmitStatement",
                                    "src": "3053:272:4"
                                },
                                {
                                    "assignments": [
                                        339
                                    ],
                                    "declarations": [
                                        {
                                            "constant": false,
                                            "id": 339,
                                            "name": "claimList",
                                            "nodeType": "VariableDeclaration",
                                            "scope": 396,
                                            "src": "3336:19:4",
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr",
                                                "typeString": "bytes32[]"
                                            },
                                            "typeName": {
                                                "baseType": {
                                                    "id": 337,
                                                    "name": "bytes32",
                                                    "nodeType": "ElementaryTypeName",
                                                    "src": "3336:7:4",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_bytes32",
                                                        "typeString": "bytes32"
                                                    }
                                                },
                                                "id": 338,
                                                "length": null,
                                                "nodeType": "ArrayTypeName",
                                                "src": "3336:9:4",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr",
                                                    "typeString": "bytes32[]"
                                                }
                                            },
                                            "value": null,
                                            "visibility": "internal"
                                        }
                                    ],
                                    "id": 346,
                                    "initialValue": {
                                        "argumentTypes": null,
                                        "baseExpression": {
                                            "argumentTypes": null,
                                            "id": 340,
                                            "name": "claimsByType",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 169,
                                            "src": "3358:12:4",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_mapping$_t_uint256_$_t_array$_t_bytes32_$dyn_storage_$",
                                                "typeString": "mapping(uint256 => bytes32[] storage ref)"
                                            }
                                        },
                                        "id": 345,
                                        "indexExpression": {
                                            "argumentTypes": null,
                                            "expression": {
                                                "argumentTypes": null,
                                                "baseExpression": {
                                                    "argumentTypes": null,
                                                    "id": 341,
                                                    "name": "claims",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 164,
                                                    "src": "3371:6:4",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Claim_$654_storage_$",
                                                        "typeString": "mapping(bytes32 => struct ERC735.Claim storage ref)"
                                                    }
                                                },
                                                "id": 343,
                                                "indexExpression": {
                                                    "argumentTypes": null,
                                                    "id": 342,
                                                    "name": "_claimId",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 284,
                                                    "src": "3378:8:4",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_bytes32",
                                                        "typeString": "bytes32"
                                                    }
                                                },
                                                "isConstant": false,
                                                "isLValue": true,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "nodeType": "IndexAccess",
                                                "src": "3371:16:4",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_struct$_Claim_$654_storage",
                                                    "typeString": "struct ERC735.Claim storage ref"
                                                }
                                            },
                                            "id": 344,
                                            "isConstant": false,
                                            "isLValue": true,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "memberName": "claimType",
                                            "nodeType": "MemberAccess",
                                            "referencedDeclaration": 643,
                                            "src": "3371:26:4",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                            }
                                        },
                                        "isConstant": false,
                                        "isLValue": true,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "nodeType": "IndexAccess",
                                        "src": "3358:40:4",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_array$_t_bytes32_$dyn_storage",
                                            "typeString": "bytes32[] storage ref"
                                        }
                                    },
                                    "nodeType": "VariableDeclarationStatement",
                                    "src": "3336:62:4"
                                },
                                {
                                    "body": {
                                        "id": 386,
                                        "nodeType": "Block",
                                        "src": "3450:203:4",
                                        "statements": [
                                            {
                                                "condition": {
                                                    "argumentTypes": null,
                                                    "commonType": {
                                                        "typeIdentifier": "t_bytes32",
                                                        "typeString": "bytes32"
                                                    },
                                                    "id": 362,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "leftExpression": {
                                                        "argumentTypes": null,
                                                        "baseExpression": {
                                                            "argumentTypes": null,
                                                            "id": 358,
                                                            "name": "claimList",
                                                            "nodeType": "Identifier",
                                                            "overloadedDeclarations": [],
                                                            "referencedDeclaration": 339,
                                                            "src": "3467:9:4",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr",
                                                                "typeString": "bytes32[] storage pointer"
                                                            }
                                                        },
                                                        "id": 360,
                                                        "indexExpression": {
                                                            "argumentTypes": null,
                                                            "id": 359,
                                                            "name": "i",
                                                            "nodeType": "Identifier",
                                                            "overloadedDeclarations": [],
                                                            "referencedDeclaration": 348,
                                                            "src": "3477:1:4",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_uint256",
                                                                "typeString": "uint256"
                                                            }
                                                        },
                                                        "isConstant": false,
                                                        "isLValue": true,
                                                        "isPure": false,
                                                        "lValueRequested": false,
                                                        "nodeType": "IndexAccess",
                                                        "src": "3467:12:4",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bytes32",
                                                            "typeString": "bytes32"
                                                        }
                                                    },
                                                    "nodeType": "BinaryOperation",
                                                    "operator": "==",
                                                    "rightExpression": {
                                                        "argumentTypes": null,
                                                        "id": 361,
                                                        "name": "_claimId",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 284,
                                                        "src": "3483:8:4",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bytes32",
                                                            "typeString": "bytes32"
                                                        }
                                                    },
                                                    "src": "3467:24:4",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_bool",
                                                        "typeString": "bool"
                                                    }
                                                },
                                                "falseBody": null,
                                                "id": 385,
                                                "nodeType": "IfStatement",
                                                "src": "3464:179:4",
                                                "trueBody": {
                                                    "id": 384,
                                                    "nodeType": "Block",
                                                    "src": "3493:150:4",
                                                    "statements": [
                                                        {
                                                            "expression": {
                                                                "argumentTypes": null,
                                                                "id": 366,
                                                                "isConstant": false,
                                                                "isLValue": false,
                                                                "isPure": false,
                                                                "lValueRequested": false,
                                                                "nodeType": "UnaryOperation",
                                                                "operator": "delete",
                                                                "prefix": true,
                                                                "src": "3511:19:4",
                                                                "subExpression": {
                                                                    "argumentTypes": null,
                                                                    "baseExpression": {
                                                                        "argumentTypes": null,
                                                                        "id": 363,
                                                                        "name": "claimList",
                                                                        "nodeType": "Identifier",
                                                                        "overloadedDeclarations": [],
                                                                        "referencedDeclaration": 339,
                                                                        "src": "3518:9:4",
                                                                        "typeDescriptions": {
                                                                            "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr",
                                                                            "typeString": "bytes32[] storage pointer"
                                                                        }
                                                                    },
                                                                    "id": 365,
                                                                    "indexExpression": {
                                                                        "argumentTypes": null,
                                                                        "id": 364,
                                                                        "name": "i",
                                                                        "nodeType": "Identifier",
                                                                        "overloadedDeclarations": [],
                                                                        "referencedDeclaration": 348,
                                                                        "src": "3528:1:4",
                                                                        "typeDescriptions": {
                                                                            "typeIdentifier": "t_uint256",
                                                                            "typeString": "uint256"
                                                                        }
                                                                    },
                                                                    "isConstant": false,
                                                                    "isLValue": true,
                                                                    "isPure": false,
                                                                    "lValueRequested": true,
                                                                    "nodeType": "IndexAccess",
                                                                    "src": "3518:12:4",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_bytes32",
                                                                        "typeString": "bytes32"
                                                                    }
                                                                },
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_tuple$__$",
                                                                    "typeString": "tuple()"
                                                                }
                                                            },
                                                            "id": 367,
                                                            "nodeType": "ExpressionStatement",
                                                            "src": "3511:19:4"
                                                        },
                                                        {
                                                            "expression": {
                                                                "argumentTypes": null,
                                                                "id": 377,
                                                                "isConstant": false,
                                                                "isLValue": false,
                                                                "isPure": false,
                                                                "lValueRequested": false,
                                                                "leftHandSide": {
                                                                    "argumentTypes": null,
                                                                    "baseExpression": {
                                                                        "argumentTypes": null,
                                                                        "id": 368,
                                                                        "name": "claimList",
                                                                        "nodeType": "Identifier",
                                                                        "overloadedDeclarations": [],
                                                                        "referencedDeclaration": 339,
                                                                        "src": "3548:9:4",
                                                                        "typeDescriptions": {
                                                                            "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr",
                                                                            "typeString": "bytes32[] storage pointer"
                                                                        }
                                                                    },
                                                                    "id": 370,
                                                                    "indexExpression": {
                                                                        "argumentTypes": null,
                                                                        "id": 369,
                                                                        "name": "i",
                                                                        "nodeType": "Identifier",
                                                                        "overloadedDeclarations": [],
                                                                        "referencedDeclaration": 348,
                                                                        "src": "3558:1:4",
                                                                        "typeDescriptions": {
                                                                            "typeIdentifier": "t_uint256",
                                                                            "typeString": "uint256"
                                                                        }
                                                                    },
                                                                    "isConstant": false,
                                                                    "isLValue": true,
                                                                    "isPure": false,
                                                                    "lValueRequested": true,
                                                                    "nodeType": "IndexAccess",
                                                                    "src": "3548:12:4",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_bytes32",
                                                                        "typeString": "bytes32"
                                                                    }
                                                                },
                                                                "nodeType": "Assignment",
                                                                "operator": "=",
                                                                "rightHandSide": {
                                                                    "argumentTypes": null,
                                                                    "baseExpression": {
                                                                        "argumentTypes": null,
                                                                        "id": 371,
                                                                        "name": "claimList",
                                                                        "nodeType": "Identifier",
                                                                        "overloadedDeclarations": [],
                                                                        "referencedDeclaration": 339,
                                                                        "src": "3563:9:4",
                                                                        "typeDescriptions": {
                                                                            "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr",
                                                                            "typeString": "bytes32[] storage pointer"
                                                                        }
                                                                    },
                                                                    "id": 376,
                                                                    "indexExpression": {
                                                                        "argumentTypes": null,
                                                                        "commonType": {
                                                                            "typeIdentifier": "t_uint256",
                                                                            "typeString": "uint256"
                                                                        },
                                                                        "id": 375,
                                                                        "isConstant": false,
                                                                        "isLValue": false,
                                                                        "isPure": false,
                                                                        "lValueRequested": false,
                                                                        "leftExpression": {
                                                                            "argumentTypes": null,
                                                                            "expression": {
                                                                                "argumentTypes": null,
                                                                                "id": 372,
                                                                                "name": "claimList",
                                                                                "nodeType": "Identifier",
                                                                                "overloadedDeclarations": [],
                                                                                "referencedDeclaration": 339,
                                                                                "src": "3573:9:4",
                                                                                "typeDescriptions": {
                                                                                    "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr",
                                                                                    "typeString": "bytes32[] storage pointer"
                                                                                }
                                                                            },
                                                                            "id": 373,
                                                                            "isConstant": false,
                                                                            "isLValue": true,
                                                                            "isPure": false,
                                                                            "lValueRequested": false,
                                                                            "memberName": "length",
                                                                            "nodeType": "MemberAccess",
                                                                            "referencedDeclaration": null,
                                                                            "src": "3573:16:4",
                                                                            "typeDescriptions": {
                                                                                "typeIdentifier": "t_uint256",
                                                                                "typeString": "uint256"
                                                                            }
                                                                        },
                                                                        "nodeType": "BinaryOperation",
                                                                        "operator": "-",
                                                                        "rightExpression": {
                                                                            "argumentTypes": null,
                                                                            "hexValue": "31",
                                                                            "id": 374,
                                                                            "isConstant": false,
                                                                            "isLValue": false,
                                                                            "isPure": true,
                                                                            "kind": "number",
                                                                            "lValueRequested": false,
                                                                            "nodeType": "Literal",
                                                                            "src": "3590:1:4",
                                                                            "subdenomination": null,
                                                                            "typeDescriptions": {
                                                                                "typeIdentifier": "t_rational_1_by_1",
                                                                                "typeString": "int_const 1"
                                                                            },
                                                                            "value": "1"
                                                                        },
                                                                        "src": "3573:18:4",
                                                                        "typeDescriptions": {
                                                                            "typeIdentifier": "t_uint256",
                                                                            "typeString": "uint256"
                                                                        }
                                                                    },
                                                                    "isConstant": false,
                                                                    "isLValue": true,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "nodeType": "IndexAccess",
                                                                    "src": "3563:29:4",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_bytes32",
                                                                        "typeString": "bytes32"
                                                                    }
                                                                },
                                                                "src": "3548:44:4",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_bytes32",
                                                                    "typeString": "bytes32"
                                                                }
                                                            },
                                                            "id": 378,
                                                            "nodeType": "ExpressionStatement",
                                                            "src": "3548:44:4"
                                                        },
                                                        {
                                                            "expression": {
                                                                "argumentTypes": null,
                                                                "id": 382,
                                                                "isConstant": false,
                                                                "isLValue": false,
                                                                "isPure": false,
                                                                "lValueRequested": false,
                                                                "nodeType": "UnaryOperation",
                                                                "operator": "--",
                                                                "prefix": false,
                                                                "src": "3610:18:4",
                                                                "subExpression": {
                                                                    "argumentTypes": null,
                                                                    "expression": {
                                                                        "argumentTypes": null,
                                                                        "id": 379,
                                                                        "name": "claimList",
                                                                        "nodeType": "Identifier",
                                                                        "overloadedDeclarations": [],
                                                                        "referencedDeclaration": 339,
                                                                        "src": "3610:9:4",
                                                                        "typeDescriptions": {
                                                                            "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr",
                                                                            "typeString": "bytes32[] storage pointer"
                                                                        }
                                                                    },
                                                                    "id": 381,
                                                                    "isConstant": false,
                                                                    "isLValue": true,
                                                                    "isPure": false,
                                                                    "lValueRequested": true,
                                                                    "memberName": "length",
                                                                    "nodeType": "MemberAccess",
                                                                    "referencedDeclaration": null,
                                                                    "src": "3610:16:4",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_uint256",
                                                                        "typeString": "uint256"
                                                                    }
                                                                },
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_uint256",
                                                                    "typeString": "uint256"
                                                                }
                                                            },
                                                            "id": 383,
                                                            "nodeType": "ExpressionStatement",
                                                            "src": "3610:18:4"
                                                        }
                                                    ]
                                                }
                                            }
                                        ]
                                    },
                                    "condition": {
                                        "argumentTypes": null,
                                        "commonType": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        },
                                        "id": 354,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "leftExpression": {
                                            "argumentTypes": null,
                                            "id": 351,
                                            "name": "i",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 348,
                                            "src": "3425:1:4",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                            }
                                        },
                                        "nodeType": "BinaryOperation",
                                        "operator": "<",
                                        "rightExpression": {
                                            "argumentTypes": null,
                                            "expression": {
                                                "argumentTypes": null,
                                                "id": 352,
                                                "name": "claimList",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 339,
                                                "src": "3427:9:4",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr",
                                                    "typeString": "bytes32[] storage pointer"
                                                }
                                            },
                                            "id": 353,
                                            "isConstant": false,
                                            "isLValue": true,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "memberName": "length",
                                            "nodeType": "MemberAccess",
                                            "referencedDeclaration": null,
                                            "src": "3427:16:4",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                            }
                                        },
                                        "src": "3425:18:4",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "id": 387,
                                    "initializationExpression": {
                                        "assignments": [
                                            348
                                        ],
                                        "declarations": [
                                            {
                                                "constant": false,
                                                "id": 348,
                                                "name": "i",
                                                "nodeType": "VariableDeclaration",
                                                "scope": 396,
                                                "src": "3413:6:4",
                                                "stateVariable": false,
                                                "storageLocation": "default",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                },
                                                "typeName": {
                                                    "id": 347,
                                                    "name": "uint",
                                                    "nodeType": "ElementaryTypeName",
                                                    "src": "3413:4:4",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_uint256",
                                                        "typeString": "uint256"
                                                    }
                                                },
                                                "value": null,
                                                "visibility": "internal"
                                            }
                                        ],
                                        "id": 350,
                                        "initialValue": {
                                            "argumentTypes": null,
                                            "hexValue": "30",
                                            "id": 349,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": true,
                                            "kind": "number",
                                            "lValueRequested": false,
                                            "nodeType": "Literal",
                                            "src": "3422:1:4",
                                            "subdenomination": null,
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_rational_0_by_1",
                                                "typeString": "int_const 0"
                                            },
                                            "value": "0"
                                        },
                                        "nodeType": "VariableDeclarationStatement",
                                        "src": "3413:10:4"
                                    },
                                    "loopExpression": {
                                        "expression": {
                                            "argumentTypes": null,
                                            "id": 356,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "nodeType": "UnaryOperation",
                                            "operator": "++",
                                            "prefix": false,
                                            "src": "3445:3:4",
                                            "subExpression": {
                                                "argumentTypes": null,
                                                "id": 355,
                                                "name": "i",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 348,
                                                "src": "3445:1:4",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                }
                                            },
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                            }
                                        },
                                        "id": 357,
                                        "nodeType": "ExpressionStatement",
                                        "src": "3445:3:4"
                                    },
                                    "nodeType": "ForStatement",
                                    "src": "3409:244:4"
                                },
                                {
                                    "expression": {
                                        "argumentTypes": null,
                                        "id": 391,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "nodeType": "UnaryOperation",
                                        "operator": "delete",
                                        "prefix": true,
                                        "src": "3663:23:4",
                                        "subExpression": {
                                            "argumentTypes": null,
                                            "baseExpression": {
                                                "argumentTypes": null,
                                                "id": 388,
                                                "name": "claims",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 164,
                                                "src": "3670:6:4",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Claim_$654_storage_$",
                                                    "typeString": "mapping(bytes32 => struct ERC735.Claim storage ref)"
                                                }
                                            },
                                            "id": 390,
                                            "indexExpression": {
                                                "argumentTypes": null,
                                                "id": 389,
                                                "name": "_claimId",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 284,
                                                "src": "3677:8:4",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes32",
                                                    "typeString": "bytes32"
                                                }
                                            },
                                            "isConstant": false,
                                            "isLValue": true,
                                            "isPure": false,
                                            "lValueRequested": true,
                                            "nodeType": "IndexAccess",
                                            "src": "3670:16:4",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_struct$_Claim_$654_storage",
                                                "typeString": "struct ERC735.Claim storage ref"
                                            }
                                        },
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 392,
                                    "nodeType": "ExpressionStatement",
                                    "src": "3663:23:4"
                                },
                                {
                                    "expression": {
                                        "argumentTypes": null,
                                        "hexValue": "74727565",
                                        "id": 393,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": true,
                                        "kind": "bool",
                                        "lValueRequested": false,
                                        "nodeType": "Literal",
                                        "src": "3704:4:4",
                                        "subdenomination": null,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        },
                                        "value": "true"
                                    },
                                    "functionReturnParameters": 288,
                                    "id": 394,
                                    "nodeType": "Return",
                                    "src": "3697:11:4"
                                }
                            ]
                        },
                        "documentation": "@notice Implementation of the removeClaim function from the ERC-735 standard\nRequire that the msg.sender has management key.\nCan only be removed by the claim issuer, or the claim holder itself.\n    * @param _claimId The identity of the claim i.e. keccak256(address issuer_address + uint256 claimType)\n    * @return Returns TRUE when the claim was removed.\ntriggers ClaimRemoved event",
                        "id": 396,
                        "implemented": true,
                        "isConstructor": false,
                        "isDeclaredConst": false,
                        "modifiers": [],
                        "name": "removeClaim",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 285,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 284,
                                    "name": "_claimId",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 396,
                                    "src": "2840:16:4",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes32",
                                        "typeString": "bytes32"
                                    },
                                    "typeName": {
                                        "id": 283,
                                        "name": "bytes32",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "2840:7:4",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                }
                            ],
                            "src": "2839:18:4"
                        },
                        "payable": false,
                        "returnParameters": {
                            "id": 288,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 287,
                                    "name": "success",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 396,
                                    "src": "2874:12:4",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 286,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "2874:4:4",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                }
                            ],
                            "src": "2873:14:4"
                        },
                        "scope": 454,
                        "src": "2819:896:4",
                        "stateMutability": "nonpayable",
                        "superFunction": 703,
                        "visibility": "public"
                    },
                    {
                        "body": {
                            "id": 439,
                            "nodeType": "Block",
                            "src": "4328:257:4",
                            "statements": [
                                {
                                    "expression": {
                                        "argumentTypes": null,
                                        "components": [
                                            {
                                                "argumentTypes": null,
                                                "expression": {
                                                    "argumentTypes": null,
                                                    "baseExpression": {
                                                        "argumentTypes": null,
                                                        "id": 413,
                                                        "name": "claims",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 164,
                                                        "src": "4359:6:4",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Claim_$654_storage_$",
                                                            "typeString": "mapping(bytes32 => struct ERC735.Claim storage ref)"
                                                        }
                                                    },
                                                    "id": 415,
                                                    "indexExpression": {
                                                        "argumentTypes": null,
                                                        "id": 414,
                                                        "name": "_claimId",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 398,
                                                        "src": "4366:8:4",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bytes32",
                                                            "typeString": "bytes32"
                                                        }
                                                    },
                                                    "isConstant": false,
                                                    "isLValue": true,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "nodeType": "IndexAccess",
                                                    "src": "4359:16:4",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_struct$_Claim_$654_storage",
                                                        "typeString": "struct ERC735.Claim storage ref"
                                                    }
                                                },
                                                "id": 416,
                                                "isConstant": false,
                                                "isLValue": true,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "memberName": "claimType",
                                                "nodeType": "MemberAccess",
                                                "referencedDeclaration": 643,
                                                "src": "4359:26:4",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                }
                                            },
                                            {
                                                "argumentTypes": null,
                                                "expression": {
                                                    "argumentTypes": null,
                                                    "baseExpression": {
                                                        "argumentTypes": null,
                                                        "id": 417,
                                                        "name": "claims",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 164,
                                                        "src": "4399:6:4",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Claim_$654_storage_$",
                                                            "typeString": "mapping(bytes32 => struct ERC735.Claim storage ref)"
                                                        }
                                                    },
                                                    "id": 419,
                                                    "indexExpression": {
                                                        "argumentTypes": null,
                                                        "id": 418,
                                                        "name": "_claimId",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 398,
                                                        "src": "4406:8:4",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bytes32",
                                                            "typeString": "bytes32"
                                                        }
                                                    },
                                                    "isConstant": false,
                                                    "isLValue": true,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "nodeType": "IndexAccess",
                                                    "src": "4399:16:4",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_struct$_Claim_$654_storage",
                                                        "typeString": "struct ERC735.Claim storage ref"
                                                    }
                                                },
                                                "id": 420,
                                                "isConstant": false,
                                                "isLValue": true,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "memberName": "scheme",
                                                "nodeType": "MemberAccess",
                                                "referencedDeclaration": 645,
                                                "src": "4399:23:4",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                }
                                            },
                                            {
                                                "argumentTypes": null,
                                                "expression": {
                                                    "argumentTypes": null,
                                                    "baseExpression": {
                                                        "argumentTypes": null,
                                                        "id": 421,
                                                        "name": "claims",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 164,
                                                        "src": "4436:6:4",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Claim_$654_storage_$",
                                                            "typeString": "mapping(bytes32 => struct ERC735.Claim storage ref)"
                                                        }
                                                    },
                                                    "id": 423,
                                                    "indexExpression": {
                                                        "argumentTypes": null,
                                                        "id": 422,
                                                        "name": "_claimId",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 398,
                                                        "src": "4443:8:4",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bytes32",
                                                            "typeString": "bytes32"
                                                        }
                                                    },
                                                    "isConstant": false,
                                                    "isLValue": true,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "nodeType": "IndexAccess",
                                                    "src": "4436:16:4",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_struct$_Claim_$654_storage",
                                                        "typeString": "struct ERC735.Claim storage ref"
                                                    }
                                                },
                                                "id": 424,
                                                "isConstant": false,
                                                "isLValue": true,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "memberName": "issuer",
                                                "nodeType": "MemberAccess",
                                                "referencedDeclaration": 647,
                                                "src": "4436:23:4",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_address",
                                                    "typeString": "address"
                                                }
                                            },
                                            {
                                                "argumentTypes": null,
                                                "expression": {
                                                    "argumentTypes": null,
                                                    "baseExpression": {
                                                        "argumentTypes": null,
                                                        "id": 425,
                                                        "name": "claims",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 164,
                                                        "src": "4473:6:4",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Claim_$654_storage_$",
                                                            "typeString": "mapping(bytes32 => struct ERC735.Claim storage ref)"
                                                        }
                                                    },
                                                    "id": 427,
                                                    "indexExpression": {
                                                        "argumentTypes": null,
                                                        "id": 426,
                                                        "name": "_claimId",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 398,
                                                        "src": "4480:8:4",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bytes32",
                                                            "typeString": "bytes32"
                                                        }
                                                    },
                                                    "isConstant": false,
                                                    "isLValue": true,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "nodeType": "IndexAccess",
                                                    "src": "4473:16:4",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_struct$_Claim_$654_storage",
                                                        "typeString": "struct ERC735.Claim storage ref"
                                                    }
                                                },
                                                "id": 428,
                                                "isConstant": false,
                                                "isLValue": true,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "memberName": "signature",
                                                "nodeType": "MemberAccess",
                                                "referencedDeclaration": 649,
                                                "src": "4473:26:4",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_storage",
                                                    "typeString": "bytes storage ref"
                                                }
                                            },
                                            {
                                                "argumentTypes": null,
                                                "expression": {
                                                    "argumentTypes": null,
                                                    "baseExpression": {
                                                        "argumentTypes": null,
                                                        "id": 429,
                                                        "name": "claims",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 164,
                                                        "src": "4513:6:4",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Claim_$654_storage_$",
                                                            "typeString": "mapping(bytes32 => struct ERC735.Claim storage ref)"
                                                        }
                                                    },
                                                    "id": 431,
                                                    "indexExpression": {
                                                        "argumentTypes": null,
                                                        "id": 430,
                                                        "name": "_claimId",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 398,
                                                        "src": "4520:8:4",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bytes32",
                                                            "typeString": "bytes32"
                                                        }
                                                    },
                                                    "isConstant": false,
                                                    "isLValue": true,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "nodeType": "IndexAccess",
                                                    "src": "4513:16:4",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_struct$_Claim_$654_storage",
                                                        "typeString": "struct ERC735.Claim storage ref"
                                                    }
                                                },
                                                "id": 432,
                                                "isConstant": false,
                                                "isLValue": true,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "memberName": "data",
                                                "nodeType": "MemberAccess",
                                                "referencedDeclaration": 651,
                                                "src": "4513:21:4",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_storage",
                                                    "typeString": "bytes storage ref"
                                                }
                                            },
                                            {
                                                "argumentTypes": null,
                                                "expression": {
                                                    "argumentTypes": null,
                                                    "baseExpression": {
                                                        "argumentTypes": null,
                                                        "id": 433,
                                                        "name": "claims",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 164,
                                                        "src": "4548:6:4",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Claim_$654_storage_$",
                                                            "typeString": "mapping(bytes32 => struct ERC735.Claim storage ref)"
                                                        }
                                                    },
                                                    "id": 435,
                                                    "indexExpression": {
                                                        "argumentTypes": null,
                                                        "id": 434,
                                                        "name": "_claimId",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 398,
                                                        "src": "4555:8:4",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bytes32",
                                                            "typeString": "bytes32"
                                                        }
                                                    },
                                                    "isConstant": false,
                                                    "isLValue": true,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "nodeType": "IndexAccess",
                                                    "src": "4548:16:4",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_struct$_Claim_$654_storage",
                                                        "typeString": "struct ERC735.Claim storage ref"
                                                    }
                                                },
                                                "id": 436,
                                                "isConstant": false,
                                                "isLValue": true,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "memberName": "uri",
                                                "nodeType": "MemberAccess",
                                                "referencedDeclaration": 653,
                                                "src": "4548:20:4",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_string_storage",
                                                    "typeString": "string storage ref"
                                                }
                                            }
                                        ],
                                        "id": 437,
                                        "isConstant": false,
                                        "isInlineArray": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "nodeType": "TupleExpression",
                                        "src": "4345:233:4",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_address_$_t_bytes_storage_$_t_bytes_storage_$_t_string_storage_$",
                                            "typeString": "tuple(uint256,uint256,address,bytes storage ref,bytes storage ref,string storage ref)"
                                        }
                                    },
                                    "functionReturnParameters": 412,
                                    "id": 438,
                                    "nodeType": "Return",
                                    "src": "4338:240:4"
                                }
                            ]
                        },
                        "documentation": "@notice Implementation of the getClaim function from the ERC-735 standard.\n    * @param _claimId The identity of the claim i.e. keccak256(address issuer_address + uint256 claimType)\n    * @return Returns all the parameters of the claim for the specified _claimId (claimType, scheme, signature, issuer, data, uri) .",
                        "id": 440,
                        "implemented": true,
                        "isConstructor": false,
                        "isDeclaredConst": true,
                        "modifiers": [],
                        "name": "getClaim",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 399,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 398,
                                    "name": "_claimId",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 440,
                                    "src": "4084:16:4",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes32",
                                        "typeString": "bytes32"
                                    },
                                    "typeName": {
                                        "id": 397,
                                        "name": "bytes32",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "4084:7:4",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                }
                            ],
                            "src": "4083:18:4"
                        },
                        "payable": false,
                        "returnParameters": {
                            "id": 412,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 401,
                                    "name": "claimType",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 440,
                                    "src": "4163:17:4",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 400,
                                        "name": "uint256",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "4163:7:4",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 403,
                                    "name": "scheme",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 440,
                                    "src": "4194:14:4",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 402,
                                        "name": "uint256",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "4194:7:4",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 405,
                                    "name": "issuer",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 440,
                                    "src": "4222:14:4",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 404,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "4222:7:4",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 407,
                                    "name": "signature",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 440,
                                    "src": "4250:15:4",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes_memory_ptr",
                                        "typeString": "bytes"
                                    },
                                    "typeName": {
                                        "id": 406,
                                        "name": "bytes",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "4250:5:4",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes_storage_ptr",
                                            "typeString": "bytes"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 409,
                                    "name": "data",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 440,
                                    "src": "4279:10:4",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes_memory_ptr",
                                        "typeString": "bytes"
                                    },
                                    "typeName": {
                                        "id": 408,
                                        "name": "bytes",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "4279:5:4",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes_storage_ptr",
                                            "typeString": "bytes"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 411,
                                    "name": "uri",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 440,
                                    "src": "4303:10:4",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 410,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "4303:6:4",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                }
                            ],
                            "src": "4149:174:4"
                        },
                        "scope": 454,
                        "src": "4066:519:4",
                        "stateMutability": "view",
                        "superFunction": 671,
                        "visibility": "public"
                    },
                    {
                        "body": {
                            "id": 452,
                            "nodeType": "Block",
                            "src": "5054:48:4",
                            "statements": [
                                {
                                    "expression": {
                                        "argumentTypes": null,
                                        "baseExpression": {
                                            "argumentTypes": null,
                                            "id": 448,
                                            "name": "claimsByType",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 169,
                                            "src": "5071:12:4",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_mapping$_t_uint256_$_t_array$_t_bytes32_$dyn_storage_$",
                                                "typeString": "mapping(uint256 => bytes32[] storage ref)"
                                            }
                                        },
                                        "id": 450,
                                        "indexExpression": {
                                            "argumentTypes": null,
                                            "id": 449,
                                            "name": "_claimType",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 442,
                                            "src": "5084:10:4",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                            }
                                        },
                                        "isConstant": false,
                                        "isLValue": true,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "nodeType": "IndexAccess",
                                        "src": "5071:24:4",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_array$_t_bytes32_$dyn_storage",
                                            "typeString": "bytes32[] storage ref"
                                        }
                                    },
                                    "functionReturnParameters": 447,
                                    "id": 451,
                                    "nodeType": "Return",
                                    "src": "5064:31:4"
                                }
                            ]
                        },
                        "documentation": "@notice Implementation of the getClaimIdsByTopic function from the ERC-735 standard.\nused to get all the claims from the specified claimType\n    * @param _claimType The identity of the claim i.e. keccak256(address issuer_address + uint256 claimType)\n    * @return Returns an array of claim IDs by claimType.",
                        "id": 453,
                        "implemented": true,
                        "isConstructor": false,
                        "isDeclaredConst": true,
                        "modifiers": [],
                        "name": "getClaimIdsByType",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 443,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 442,
                                    "name": "_claimType",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 453,
                                    "src": "4962:18:4",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 441,
                                        "name": "uint256",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "4962:7:4",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                }
                            ],
                            "src": "4961:20:4"
                        },
                        "payable": false,
                        "returnParameters": {
                            "id": 447,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 446,
                                    "name": "claimIds",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 453,
                                    "src": "5030:18:4",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
                                        "typeString": "bytes32[]"
                                    },
                                    "typeName": {
                                        "baseType": {
                                            "id": 444,
                                            "name": "bytes32",
                                            "nodeType": "ElementaryTypeName",
                                            "src": "5030:7:4",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_bytes32",
                                                "typeString": "bytes32"
                                            }
                                        },
                                        "id": 445,
                                        "length": null,
                                        "nodeType": "ArrayTypeName",
                                        "src": "5030:9:4",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr",
                                            "typeString": "bytes32[]"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                }
                            ],
                            "src": "5029:20:4"
                        },
                        "scope": 454,
                        "src": "4935:167:4",
                        "stateMutability": "view",
                        "superFunction": 679,
                        "visibility": "public"
                    }
                ],
                "scope": 455,
                "src": "76:5028:4"
            }
        ],
        "src": "0:5105:4"
    },
    "compiler": {
        "name": "solc",
        "version": "0.4.24+commit.e67f0147.Emscripten.clang"
    },
    "networks": {},
    "schemaVersion": "2.0.1",
    "updatedAt": "2019-02-05T13:11:27.208Z"
}
