{
  "contractName": "CalculateERC223",
  "abi": [
    {
      "constant": true,
      "inputs": [
        {
          "name": "_interfaceId",
          "type": "bytes4"
        }
      ],
      "name": "supportsInterface",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "mintingFinished",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "name",
      "outputs": [
        {
          "name": "",
          "type": "string"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "spender",
          "type": "address"
        },
        {
          "name": "value",
          "type": "uint256"
        }
      ],
      "name": "approve",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "_operator",
          "type": "address"
        },
        {
          "name": "_role",
          "type": "string"
        }
      ],
      "name": "checkRole",
      "outputs": [],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [],
      "name": "activate",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "InterfaceId_Token",
      "outputs": [
        {
          "name": "",
          "type": "bytes4"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "totalSupply",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "activated",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "InterfaceId_ERC165",
      "outputs": [
        {
          "name": "",
          "type": "bytes4"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "maxMintable",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "_operator",
          "type": "address"
        },
        {
          "name": "_role",
          "type": "string"
        }
      ],
      "name": "hasRole",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_from",
          "type": "address"
        },
        {
          "name": "_to",
          "type": "address"
        },
        {
          "name": "_value",
          "type": "uint256"
        }
      ],
      "name": "transferFrom",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_maxMintable",
          "type": "uint256"
        }
      ],
      "name": "setMaxMintable",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_minter",
          "type": "address"
        }
      ],
      "name": "removeMinter",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "decimals",
      "outputs": [
        {
          "name": "",
          "type": "uint8"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "pausable",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "initialSupply",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [],
      "name": "unpause",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_to",
          "type": "address"
        },
        {
          "name": "_amount",
          "type": "uint256"
        }
      ],
      "name": "mint",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_value",
          "type": "uint256"
        }
      ],
      "name": "burn",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "mintable",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "paused",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_spender",
          "type": "address"
        },
        {
          "name": "_subtractedValue",
          "type": "uint256"
        }
      ],
      "name": "decreaseApproval",
      "outputs": [
        {
          "name": "success",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "template",
      "outputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "_owner",
          "type": "address"
        }
      ],
      "name": "balanceOf",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [],
      "name": "renounceOwnership",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [],
      "name": "finishMinting",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [],
      "name": "pause",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "owner",
      "outputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "ROLE_MINTER",
      "outputs": [
        {
          "name": "",
          "type": "string"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "symbol",
      "outputs": [
        {
          "name": "",
          "type": "string"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_minter",
          "type": "address"
        }
      ],
      "name": "addMinter",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "burnable",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_to",
          "type": "address"
        },
        {
          "name": "_value",
          "type": "uint256"
        }
      ],
      "name": "transfer",
      "outputs": [
        {
          "name": "success",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_to",
          "type": "address"
        },
        {
          "name": "_value",
          "type": "uint256"
        },
        {
          "name": "_data",
          "type": "bytes"
        }
      ],
      "name": "transfer",
      "outputs": [
        {
          "name": "success",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_spender",
          "type": "address"
        },
        {
          "name": "_addedValue",
          "type": "uint256"
        }
      ],
      "name": "increaseApproval",
      "outputs": [
        {
          "name": "success",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "_owner",
          "type": "address"
        },
        {
          "name": "_spender",
          "type": "address"
        }
      ],
      "name": "allowance",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_name",
          "type": "string"
        },
        {
          "name": "_symbol",
          "type": "string"
        },
        {
          "name": "_decimals",
          "type": "uint8"
        },
        {
          "name": "_initialSupply",
          "type": "uint256"
        },
        {
          "name": "_mintable",
          "type": "bool"
        },
        {
          "name": "_burnable",
          "type": "bool"
        },
        {
          "name": "_pausable",
          "type": "bool"
        }
      ],
      "name": "update",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_newOwner",
          "type": "address"
        }
      ],
      "name": "transferOwnership",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_to",
          "type": "address"
        },
        {
          "name": "_value",
          "type": "uint256"
        },
        {
          "name": "_data",
          "type": "bytes"
        },
        {
          "name": "_custom_fallback",
          "type": "string"
        }
      ],
      "name": "transfer",
      "outputs": [
        {
          "name": "success",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "InterfaceId_ERC223Token",
      "outputs": [
        {
          "name": "",
          "type": "bytes4"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "InterfaceId_Contract",
      "outputs": [
        {
          "name": "",
          "type": "bytes4"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "name": "_owner",
          "type": "address"
        },
        {
          "name": "_name",
          "type": "string"
        },
        {
          "name": "_symbol",
          "type": "string"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "operator",
          "type": "address"
        },
        {
          "indexed": false,
          "name": "role",
          "type": "string"
        }
      ],
      "name": "RoleAdded",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "operator",
          "type": "address"
        },
        {
          "indexed": false,
          "name": "role",
          "type": "string"
        }
      ],
      "name": "RoleRemoved",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "to",
          "type": "address"
        },
        {
          "indexed": false,
          "name": "amount",
          "type": "uint256"
        }
      ],
      "name": "Mint",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [],
      "name": "MintFinished",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "burner",
          "type": "address"
        },
        {
          "indexed": false,
          "name": "value",
          "type": "uint256"
        }
      ],
      "name": "Burn",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [],
      "name": "Pause",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [],
      "name": "Unpause",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "previousOwner",
          "type": "address"
        }
      ],
      "name": "OwnershipRenounced",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "previousOwner",
          "type": "address"
        },
        {
          "indexed": true,
          "name": "newOwner",
          "type": "address"
        }
      ],
      "name": "OwnershipTransferred",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "owner",
          "type": "address"
        },
        {
          "indexed": true,
          "name": "spender",
          "type": "address"
        },
        {
          "indexed": false,
          "name": "value",
          "type": "uint256"
        }
      ],
      "name": "Approval",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "from",
          "type": "address"
        },
        {
          "indexed": true,
          "name": "to",
          "type": "address"
        },
        {
          "indexed": false,
          "name": "value",
          "type": "uint256"
        }
      ],
      "name": "Transfer",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "from",
          "type": "address"
        },
        {
          "indexed": true,
          "name": "to",
          "type": "address"
        },
        {
          "indexed": false,
          "name": "value",
          "type": "uint256"
        },
        {
          "indexed": false,
          "name": "data",
          "type": "bytes"
        }
      ],
      "name": "Transfer",
      "type": "event"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "CalculateSelector",
      "outputs": [
        {
          "name": "",
          "type": "bytes4"
        }
      ],
      "payable": false,
      "stateMutability": "pure",
      "type": "function"
    }
  ],
  "bytecode": "0x60806040526008805461ffff19169055600a805460ff191660121790553480156200002957600080fd5b50604051620026dc380380620026dc833981016040908152815160208301519183015160038054600160a060020a031916331790559092918201910182828282828282620000a07f01ffc9a700000000000000000000000000000000000000000000000000000000640100000000620001b9810204565b600160a060020a0381161515620000b657600080fd5b6005805433600160a060020a03199182161790915560038054909116600160a060020a038316179055620001137f6125ede500000000000000000000000000000000000000000000000000000000640100000000620001b9810204565b5081516200012990600690602085019062000226565b5080516200013f90600790602084019062000226565b50620001747ffd155c6700000000000000000000000000000000000000000000000000000000640100000000620001b9810204565b50620001ad91507fd0c381c9000000000000000000000000000000000000000000000000000000009050640100000000620001b9810204565b505050505050620002cb565b7fffffffff000000000000000000000000000000000000000000000000000000008082161415620001e957600080fd5b7fffffffff00000000000000000000000000000000000000000000000000000000166000908152600460205260409020805460ff19166001179055565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200026957805160ff191683800117855562000299565b8280016001018555821562000299579182015b82811115620002995782518255916020019190600101906200027c565b50620002a7929150620002ab565b5090565b620002c891905b80821115620002a75760008155600101620002b2565b90565b61240180620002db6000396000f3006080604052600436106102005763ffffffff60e060020a60003504166301ffc9a7811461020557806305d2035b1461025057806306fdde0314610265578063095ea7b3146102ef5780630988ca8c146103135780630f15f4c01461037c578063172d02bd1461039157806318160ddd146103d8578063186601ca146103ff57806319fa8f50146104145780631a4318d4146104295780632154dc391461043e578063217fe6c61461045357806323b872dd146104ba57806325d387b5146104e45780633092afd5146104fc578063313ce5671461051d5780633677584714610548578063378dc3dc1461055d5780633f4ba83a1461057257806340c10f191461058757806342966c68146105ab5780634bf365df146105c35780635c975abb146105d857806366188463146105ed5780636f2ddd931461061157806370a0823114610642578063715018a6146106635780637d64bcb4146106785780638456cb591461068d5780638da5cb5b146106a257806392afc33a146106b757806395d89b41146106cc578063983b2d56146106e1578063a07c7ce414610702578063a9059cbb14610717578063be45fd621461073b578063d73dd623146107a4578063dd62ed3e146107c8578063f2226de6146107ef578063f2fde38b146108a6578063f6368f8a146108c7578063fb499abc1461096e578063fbf964eb14610983575b600080fd5b34801561021157600080fd5b5061023c7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1960043516610998565b604080519115158252519081900360200190f35b34801561025c57600080fd5b5061023c6109cc565b34801561027157600080fd5b5061027a6109da565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102b457818101518382015260200161029c565b50505050905090810190601f1680156102e15780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156102fb57600080fd5b5061023c600160a060020a0360043516602435610a68565b34801561031f57600080fd5b5060408051602060046024803582810135601f810185900485028601850190965285855261037a958335600160a060020a0316953695604494919390910191908190840183828082843750949750610a949650505050505050565b005b34801561038857600080fd5b5061023c610b02565b34801561039d57600080fd5b506103a6610b4d565b604080517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff199092168252519081900360200190f35b3480156103e457600080fd5b506103ed610b71565b60408051918252519081900360200190f35b34801561040b57600080fd5b5061023c610b77565b34801561042057600080fd5b506103a6610b87565b34801561043557600080fd5b506103a6610bab565b34801561044a57600080fd5b506103ed610c89565b34801561045f57600080fd5b5060408051602060046024803582810135601f810185900485028601850190965285855261023c958335600160a060020a0316953695604494919390910191908190840183828082843750949750610c8f9650505050505050565b3480156104c657600080fd5b5061023c600160a060020a0360043581169060243516604435610cfb565b3480156104f057600080fd5b5061037a600435610d29565b34801561050857600080fd5b5061037a600160a060020a0360043516610d5c565b34801561052957600080fd5b50610532610da3565b6040805160ff9092168252519081900360200190f35b34801561055457600080fd5b5061023c610dac565b34801561056957600080fd5b506103ed610dba565b34801561057e57600080fd5b5061037a610dc0565b34801561059357600080fd5b5061023c600160a060020a0360043516602435610e1d565b3480156105b757600080fd5b5061037a600435610e7f565b3480156105cf57600080fd5b5061023c610eb1565b3480156105e457600080fd5b5061023c610eba565b3480156105f957600080fd5b5061023c600160a060020a0360043516602435610ec3565b34801561061d57600080fd5b50610626610ee0565b60408051600160a060020a039092168252519081900360200190f35b34801561064e57600080fd5b506103ed600160a060020a0360043516610eef565b34801561066f57600080fd5b5061037a610f0a565b34801561068457600080fd5b5061023c610f78565b34801561069957600080fd5b5061037a610fe5565b3480156106ae57600080fd5b5061062661101d565b3480156106c357600080fd5b5061027a61102c565b3480156106d857600080fd5b5061027a611051565b3480156106ed57600080fd5b5061037a600160a060020a03600435166110ac565b34801561070e57600080fd5b5061023c6110f0565b34801561072357600080fd5b5061023c600160a060020a03600435166024356110f9565b34801561074757600080fd5b50604080516020600460443581810135601f810184900484028501840190955284845261023c948235600160a060020a031694602480359536959460649492019190819084018382808284375094975061111e9650505050505050565b3480156107b057600080fd5b5061023c600160a060020a0360043516602435611144565b3480156107d457600080fd5b506103ed600160a060020a0360043581169060243516611161565b3480156107fb57600080fd5b506040805160206004803580820135601f810184900484028501840190955284845261037a94369492936024939284019190819084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a9998810197919650918201945092508291508401838280828437509497505060ff8535169550505060208301359260408101351515925060608101351515915060800135151561118c565b3480156108b257600080fd5b5061037a600160a060020a036004351661122f565b3480156108d357600080fd5b50604080516020600460443581810135601f810184900484028501840190955284845261023c948235600160a060020a031694602480359536959460649492019190819084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a99988101979196509182019450925082915084018382808284375094975061124f9650505050505050565b34801561097a57600080fd5b506103a661127f565b34801561098f57600080fd5b506103a66112a3565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191660009081526004602052604090205460ff1690565b600854610100900460ff1681565b6006805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015610a605780601f10610a3557610100808354040283529160200191610a60565b820191906000526020600020905b815481529060010190602001808311610a4357829003601f168201915b505050505081565b60055460009060a060020a900460ff161515610a8357600080fd5b610a8d83836112c7565b9392505050565b610afe826009836040518082805190602001908083835b60208310610aca5780518252601f199092019160209182019101610aab565b51815160209384036101000a60001901801990921691161790529201948552506040519384900301909220929150506112e4565b5050565b60055460009060a060020a900460ff1615610b1c57600080fd5b600b546001819055600354600160a060020a0316600090815260208190526040902055610b476112f9565b90505b90565b7ffd155c670000000000000000000000000000000000000000000000000000000081565b60015490565b60055460a060020a900460ff1681565b7f01ffc9a70000000000000000000000000000000000000000000000000000000081565b604080517f7472616e7366657228616464726573732c75696e743235362c62797465732c7381527f7472696e67290000000000000000000000000000000000000000000000000000602082015281519081900360260181207f7472616e7366657228616464726573732c75696e743235362c627974657329008252825191829003601f0182207f7472616e7366657228616464726573732c75696e7432353629000000000000008352925191829003601901909120909118187f31b56f9a000000000000000000000000000000000000000000000000000000001890565b600d5481565b6000610a8d836009846040518082805190602001908083835b60208310610cc75780518252601f199092019160209182019101610ca8565b51815160209384036101000a600019018019909216911617905292019485525060405193849003019092209291505061131b565b60055460009060a060020a900460ff161515610d1657600080fd5b610d2184848461133a565b949350505050565b600354600160a060020a03163314610d4057600080fd5b60055460a060020a900460ff1615610d5757600080fd5b600d55565b600354600160a060020a03163314610d7357600080fd5b610da0816040805190810160405280600681526020016000805160206123b6833981519152815250611358565b50565b600a5460ff1681565b600e54610100900460ff1681565b600b5481565b600354600160a060020a03163314610dd757600080fd5b60085460ff161515610de857600080fd5b6008805460ff191690556040517f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3390600090a1565b600c5460009060ff161515610e3157600080fd5b60055460a060020a900460ff161515610e4957600080fd5b6000600d541115610e7557600d54600154610e6a908463ffffffff61146916565b1115610e7557600080fd5b610a8d838361147c565b600e5460ff161515610e9057600080fd5b60055460a060020a900460ff161515610ea857600080fd5b610da081611599565b600c5460ff1681565b60085460ff1681565b60085460009060ff1615610ed657600080fd5b610a8d83836115a3565b600554600160a060020a031681565b600160a060020a031660009081526020819052604090205490565b600354600160a060020a03163314610f2157600080fd5b600354604051600160a060020a03909116907ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482090600090a26003805473ffffffffffffffffffffffffffffffffffffffff19169055565b600354600090600160a060020a03163314610f9257600080fd5b600854610100900460ff1615610fa757600080fd5b6008805461ff0019166101001790556040517fae5184fba832cb2b1f702aca6117b8d265eaf03ad33eb133f19dde0f5920fa0890600090a150600190565b600e54610100900460ff161515610ffb57600080fd5b60055460a060020a900460ff16151561101357600080fd5b61101b611694565b565b600354600160a060020a031681565b60408051808201909152600681526000805160206123b6833981519152602082015281565b6007805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015610a605780601f10610a3557610100808354040283529160200191610a60565b600354600160a060020a031633146110c357600080fd5b610da0816040805190810160405280600681526020016000805160206123b68339815191528152506116f3565b600e5460ff1681565b60055460009060a060020a900460ff16151561111457600080fd5b610a8d83836117c5565b60055460009060a060020a900460ff16151561113957600080fd5b610d218484846117e2565b60085460009060ff161561115757600080fd5b610a8d8383611800565b600160a060020a03918216600090815260026020908152604080832093909416825291909152205490565b600354600160a060020a031633146111a357600080fd5b60055460a060020a900460ff16156111ba57600080fd5b86516111cd9060069060208a019061231d565b5085516111e190600790602089019061231d565b50600a805460ff1990811660ff97909716969096179055600b93909355600c8054851692151592909217909155600e80549093169015151761ff001916610100911515919091021790555050565b600354600160a060020a0316331461124657600080fd5b610da081611899565b60055460009060a060020a900460ff16151561126a57600080fd5b61127685858585611917565b95945050505050565b7fd0c381c90000000000000000000000000000000000000000000000000000000081565b7f6125ede50000000000000000000000000000000000000000000000000000000081565b60085460009060ff16156112da57600080fd5b610a8d8383611936565b6112ee828261131b565b1515610afe57600080fd5b600354600090600160a060020a0316331461131357600080fd5b610b4761199c565b600160a060020a03166000908152602091909152604090205460ff1690565b60085460009060ff161561134d57600080fd5b610d218484846119c5565b6113c2826009836040518082805190602001908083835b6020831061138e5780518252601f19909201916020918201910161136f565b51815160209384036101000a6000190180199092169116179052920194855250604051938490030190922092915050611b3a565b81600160a060020a03167fd211483f91fc6eff862467f8de606587a30c8fc9981056f051b897a418df803a826040518080602001828103825283818151815260200191508051906020019080838360005b8381101561142b578181015183820152602001611413565b50505050905090810190601f1680156114585780820380516001836020036101000a031916815260200191505b509250505060405180910390a25050565b8181018281101561147657fe5b92915050565b60006114ab336040805190810160405280600681526020016000805160206123b6833981519152815250610a94565b600854610100900460ff16156114c057600080fd5b6001546114d3908363ffffffff61146916565b600155600160a060020a0383166000908152602081905260409020546114ff908363ffffffff61146916565b600160a060020a03841660008181526020818152604091829020939093558051858152905191927f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d412139688592918290030190a2604080518381529051600160a060020a038516916000917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a350600192915050565b610da03382611b5c565b336000908152600260209081526040808320600160a060020a03861684529091528120548083106115f757336000908152600260209081526040808320600160a060020a038816845290915281205561162c565b611607818463ffffffff611c5d16565b336000908152600260209081526040808320600160a060020a03891684529091529020555b336000818152600260209081526040808320600160a060020a0389168085529083529281902054815190815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a3600191505b5092915050565b600354600160a060020a031633146116ab57600080fd5b60085460ff16156116bb57600080fd5b6008805460ff191660011790556040517f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62590600090a1565b61175d826009836040518082805190602001908083835b602083106117295780518252601f19909201916020918201910161170a565b51815160209384036101000a6000190180199092169116179052920194855250604051938490030190922092915050611c6f565b81600160a060020a03167fbfec83d64eaa953f2708271a023ab9ee82057f8f3578d548c1a4ba0b5b700489826040518080602001828103825283818151815260200191508051906020019080838360008381101561142b578181015183820152602001611413565b60085460009060ff16156117d857600080fd5b610a8d8383611c94565b60085460009060ff16156117f557600080fd5b610d21848484611cb1565b336000908152600260209081526040808320600160a060020a0386168452909152812054611834908363ffffffff61146916565b336000818152600260209081526040808320600160a060020a0389168085529083529281902085905580519485525191937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a350600192915050565b600160a060020a03811615156118ae57600080fd5b600354604051600160a060020a038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a36003805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60085460009060ff161561192a57600080fd5b61127685858585611cde565b336000818152600260209081526040808320600160a060020a038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b6005805474ff0000000000000000000000000000000000000000191660a060020a179055600190565b600160a060020a0383166000908152602081905260408120548211156119ea57600080fd5b600160a060020a0384166000908152600260209081526040808320338452909152902054821115611a1a57600080fd5b600160a060020a0383161515611a2f57600080fd5b600160a060020a038416600090815260208190526040902054611a58908363ffffffff611c5d16565b600160a060020a038086166000908152602081905260408082209390935590851681522054611a8d908363ffffffff61146916565b600160a060020a03808516600090815260208181526040808320949094559187168152600282528281203382529091522054611acf908363ffffffff611c5d16565b600160a060020a03808616600081815260026020908152604080832033845282529182902094909455805186815290519287169391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a35060019392505050565b600160a060020a0316600090815260209190915260409020805460ff19169055565b600160a060020a038216600090815260208190526040902054811115611b8157600080fd5b600160a060020a038216600090815260208190526040902054611baa908263ffffffff611c5d16565b600160a060020a038316600090815260208190526040902055600154611bd6908263ffffffff611c5d16565b600155604080518281529051600160a060020a038416917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5919081900360200190a2604080518281529051600091600160a060020a038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b600082821115611c6957fe5b50900390565b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b60085460009060ff1615611ca757600080fd5b610a8d8383611fbc565b6000611cbc84611feb565b15611cd357611ccc848484611ff3565b9050610a8d565b611ccc8484846121f6565b6000611ce985611feb565b15611faa5783611cf833610eef565b11611d0257600080fd5b611d1b84611d0f33610eef565b9063ffffffff611c5d16565b33600090815260208190526040902055611d4484611d3887610eef565b9063ffffffff61146916565b60008087600160a060020a0316600160a060020a031681526020019081526020016000208190555084600160a060020a03166000836040516020018082805190602001908083835b60208310611dab5780518252601f199092019160209182019101611d8c565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040516020818303038152906040526040518082805190602001908083835b60208310611e0e5780518252601f199092019160209182019101611def565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060e060020a9004903387876040518563ffffffff1660e060020a0281526004018084600160a060020a0316600160a060020a03168152602001838152602001828051906020019080838360005b83811015611ea0578181015183820152602001611e88565b50505050905090810190601f168015611ecd5780820380516001836020036101000a031916815260200191505b50935050505060006040518083038185885af193505050501515611eed57fe5b84600160a060020a031633600160a060020a03167fe19260aff97b920c7df27010903aeb9c8d2be5d310a2c67824cf3f15396e4c1686866040518083815260200180602001828103825283818151815260200191508051906020019080838360005b83811015611f67578181015183820152602001611f4f565b50505050905090810190601f168015611f945780820380516001836020036101000a031916815260200191505b50935050505060405180910390a3506001610d21565b611fb58585856121f6565b9050610d21565b60006060611fc984611feb565b15611fe057611fd9848483611ff3565b915061168d565b611fd98484836121f6565b6000903b1190565b6000808361200033610eef565b1161200a57600080fd5b61201784611d0f33610eef565b3360009081526020819052604090205561203484611d3887610eef565b600160a060020a0386166000818152602081815260408083209490945592517fc0ee0b8a0000000000000000000000000000000000000000000000000000000081523360048201818152602483018a90526060604484019081528951606485015289518c9850959663c0ee0b8a9693958c958c956084909101928601918190849084905b838110156120d05781810151838201526020016120b8565b50505050905090810190601f1680156120fd5780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b15801561211e57600080fd5b505af1158015612132573d6000803e3d6000fd5b5050505084600160a060020a031633600160a060020a03167fe19260aff97b920c7df27010903aeb9c8d2be5d310a2c67824cf3f15396e4c1686866040518083815260200180602001828103825283818151815260200191508051906020019080838360005b838110156121b0578181015183820152602001612198565b50505050905090810190601f1680156121dd5780820380516001836020036101000a031916815260200191505b50935050505060405180910390a3506001949350505050565b60008261220233610eef565b1161220c57600080fd5b61221983611d0f33610eef565b3360009081526020819052604090205561223683611d3886610eef565b60008086600160a060020a0316600160a060020a031681526020019081526020016000208190555083600160a060020a031633600160a060020a03167fe19260aff97b920c7df27010903aeb9c8d2be5d310a2c67824cf3f15396e4c1685856040518083815260200180602001828103825283818151815260200191508051906020019080838360005b838110156122d85781810151838201526020016122c0565b50505050905090810190601f1680156123055780820380516001836020036101000a031916815260200191505b50935050505060405180910390a35060019392505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061235e57805160ff191683800117855561238b565b8280016001018555821561238b579182015b8281111561238b578251825591602001919060010190612370565b5061239792915061239b565b5090565b610b4a91905b8082111561239757600081556001016123a156006d696e7465720000000000000000000000000000000000000000000000000000a165627a7a723058200ab4654171e2f6308a8b6e1d72582ed84d24d09211a010f352ce710c81b3a9890029",
  "deployedBytecode": "0x6080604052600436106102005763ffffffff60e060020a60003504166301ffc9a7811461020557806305d2035b1461025057806306fdde0314610265578063095ea7b3146102ef5780630988ca8c146103135780630f15f4c01461037c578063172d02bd1461039157806318160ddd146103d8578063186601ca146103ff57806319fa8f50146104145780631a4318d4146104295780632154dc391461043e578063217fe6c61461045357806323b872dd146104ba57806325d387b5146104e45780633092afd5146104fc578063313ce5671461051d5780633677584714610548578063378dc3dc1461055d5780633f4ba83a1461057257806340c10f191461058757806342966c68146105ab5780634bf365df146105c35780635c975abb146105d857806366188463146105ed5780636f2ddd931461061157806370a0823114610642578063715018a6146106635780637d64bcb4146106785780638456cb591461068d5780638da5cb5b146106a257806392afc33a146106b757806395d89b41146106cc578063983b2d56146106e1578063a07c7ce414610702578063a9059cbb14610717578063be45fd621461073b578063d73dd623146107a4578063dd62ed3e146107c8578063f2226de6146107ef578063f2fde38b146108a6578063f6368f8a146108c7578063fb499abc1461096e578063fbf964eb14610983575b600080fd5b34801561021157600080fd5b5061023c7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1960043516610998565b604080519115158252519081900360200190f35b34801561025c57600080fd5b5061023c6109cc565b34801561027157600080fd5b5061027a6109da565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102b457818101518382015260200161029c565b50505050905090810190601f1680156102e15780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156102fb57600080fd5b5061023c600160a060020a0360043516602435610a68565b34801561031f57600080fd5b5060408051602060046024803582810135601f810185900485028601850190965285855261037a958335600160a060020a0316953695604494919390910191908190840183828082843750949750610a949650505050505050565b005b34801561038857600080fd5b5061023c610b02565b34801561039d57600080fd5b506103a6610b4d565b604080517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff199092168252519081900360200190f35b3480156103e457600080fd5b506103ed610b71565b60408051918252519081900360200190f35b34801561040b57600080fd5b5061023c610b77565b34801561042057600080fd5b506103a6610b87565b34801561043557600080fd5b506103a6610bab565b34801561044a57600080fd5b506103ed610c89565b34801561045f57600080fd5b5060408051602060046024803582810135601f810185900485028601850190965285855261023c958335600160a060020a0316953695604494919390910191908190840183828082843750949750610c8f9650505050505050565b3480156104c657600080fd5b5061023c600160a060020a0360043581169060243516604435610cfb565b3480156104f057600080fd5b5061037a600435610d29565b34801561050857600080fd5b5061037a600160a060020a0360043516610d5c565b34801561052957600080fd5b50610532610da3565b6040805160ff9092168252519081900360200190f35b34801561055457600080fd5b5061023c610dac565b34801561056957600080fd5b506103ed610dba565b34801561057e57600080fd5b5061037a610dc0565b34801561059357600080fd5b5061023c600160a060020a0360043516602435610e1d565b3480156105b757600080fd5b5061037a600435610e7f565b3480156105cf57600080fd5b5061023c610eb1565b3480156105e457600080fd5b5061023c610eba565b3480156105f957600080fd5b5061023c600160a060020a0360043516602435610ec3565b34801561061d57600080fd5b50610626610ee0565b60408051600160a060020a039092168252519081900360200190f35b34801561064e57600080fd5b506103ed600160a060020a0360043516610eef565b34801561066f57600080fd5b5061037a610f0a565b34801561068457600080fd5b5061023c610f78565b34801561069957600080fd5b5061037a610fe5565b3480156106ae57600080fd5b5061062661101d565b3480156106c357600080fd5b5061027a61102c565b3480156106d857600080fd5b5061027a611051565b3480156106ed57600080fd5b5061037a600160a060020a03600435166110ac565b34801561070e57600080fd5b5061023c6110f0565b34801561072357600080fd5b5061023c600160a060020a03600435166024356110f9565b34801561074757600080fd5b50604080516020600460443581810135601f810184900484028501840190955284845261023c948235600160a060020a031694602480359536959460649492019190819084018382808284375094975061111e9650505050505050565b3480156107b057600080fd5b5061023c600160a060020a0360043516602435611144565b3480156107d457600080fd5b506103ed600160a060020a0360043581169060243516611161565b3480156107fb57600080fd5b506040805160206004803580820135601f810184900484028501840190955284845261037a94369492936024939284019190819084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a9998810197919650918201945092508291508401838280828437509497505060ff8535169550505060208301359260408101351515925060608101351515915060800135151561118c565b3480156108b257600080fd5b5061037a600160a060020a036004351661122f565b3480156108d357600080fd5b50604080516020600460443581810135601f810184900484028501840190955284845261023c948235600160a060020a031694602480359536959460649492019190819084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a99988101979196509182019450925082915084018382808284375094975061124f9650505050505050565b34801561097a57600080fd5b506103a661127f565b34801561098f57600080fd5b506103a66112a3565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191660009081526004602052604090205460ff1690565b600854610100900460ff1681565b6006805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015610a605780601f10610a3557610100808354040283529160200191610a60565b820191906000526020600020905b815481529060010190602001808311610a4357829003601f168201915b505050505081565b60055460009060a060020a900460ff161515610a8357600080fd5b610a8d83836112c7565b9392505050565b610afe826009836040518082805190602001908083835b60208310610aca5780518252601f199092019160209182019101610aab565b51815160209384036101000a60001901801990921691161790529201948552506040519384900301909220929150506112e4565b5050565b60055460009060a060020a900460ff1615610b1c57600080fd5b600b546001819055600354600160a060020a0316600090815260208190526040902055610b476112f9565b90505b90565b7ffd155c670000000000000000000000000000000000000000000000000000000081565b60015490565b60055460a060020a900460ff1681565b7f01ffc9a70000000000000000000000000000000000000000000000000000000081565b604080517f7472616e7366657228616464726573732c75696e743235362c62797465732c7381527f7472696e67290000000000000000000000000000000000000000000000000000602082015281519081900360260181207f7472616e7366657228616464726573732c75696e743235362c627974657329008252825191829003601f0182207f7472616e7366657228616464726573732c75696e7432353629000000000000008352925191829003601901909120909118187f31b56f9a000000000000000000000000000000000000000000000000000000001890565b600d5481565b6000610a8d836009846040518082805190602001908083835b60208310610cc75780518252601f199092019160209182019101610ca8565b51815160209384036101000a600019018019909216911617905292019485525060405193849003019092209291505061131b565b60055460009060a060020a900460ff161515610d1657600080fd5b610d2184848461133a565b949350505050565b600354600160a060020a03163314610d4057600080fd5b60055460a060020a900460ff1615610d5757600080fd5b600d55565b600354600160a060020a03163314610d7357600080fd5b610da0816040805190810160405280600681526020016000805160206123b6833981519152815250611358565b50565b600a5460ff1681565b600e54610100900460ff1681565b600b5481565b600354600160a060020a03163314610dd757600080fd5b60085460ff161515610de857600080fd5b6008805460ff191690556040517f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3390600090a1565b600c5460009060ff161515610e3157600080fd5b60055460a060020a900460ff161515610e4957600080fd5b6000600d541115610e7557600d54600154610e6a908463ffffffff61146916565b1115610e7557600080fd5b610a8d838361147c565b600e5460ff161515610e9057600080fd5b60055460a060020a900460ff161515610ea857600080fd5b610da081611599565b600c5460ff1681565b60085460ff1681565b60085460009060ff1615610ed657600080fd5b610a8d83836115a3565b600554600160a060020a031681565b600160a060020a031660009081526020819052604090205490565b600354600160a060020a03163314610f2157600080fd5b600354604051600160a060020a03909116907ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482090600090a26003805473ffffffffffffffffffffffffffffffffffffffff19169055565b600354600090600160a060020a03163314610f9257600080fd5b600854610100900460ff1615610fa757600080fd5b6008805461ff0019166101001790556040517fae5184fba832cb2b1f702aca6117b8d265eaf03ad33eb133f19dde0f5920fa0890600090a150600190565b600e54610100900460ff161515610ffb57600080fd5b60055460a060020a900460ff16151561101357600080fd5b61101b611694565b565b600354600160a060020a031681565b60408051808201909152600681526000805160206123b6833981519152602082015281565b6007805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015610a605780601f10610a3557610100808354040283529160200191610a60565b600354600160a060020a031633146110c357600080fd5b610da0816040805190810160405280600681526020016000805160206123b68339815191528152506116f3565b600e5460ff1681565b60055460009060a060020a900460ff16151561111457600080fd5b610a8d83836117c5565b60055460009060a060020a900460ff16151561113957600080fd5b610d218484846117e2565b60085460009060ff161561115757600080fd5b610a8d8383611800565b600160a060020a03918216600090815260026020908152604080832093909416825291909152205490565b600354600160a060020a031633146111a357600080fd5b60055460a060020a900460ff16156111ba57600080fd5b86516111cd9060069060208a019061231d565b5085516111e190600790602089019061231d565b50600a805460ff1990811660ff97909716969096179055600b93909355600c8054851692151592909217909155600e80549093169015151761ff001916610100911515919091021790555050565b600354600160a060020a0316331461124657600080fd5b610da081611899565b60055460009060a060020a900460ff16151561126a57600080fd5b61127685858585611917565b95945050505050565b7fd0c381c90000000000000000000000000000000000000000000000000000000081565b7f6125ede50000000000000000000000000000000000000000000000000000000081565b60085460009060ff16156112da57600080fd5b610a8d8383611936565b6112ee828261131b565b1515610afe57600080fd5b600354600090600160a060020a0316331461131357600080fd5b610b4761199c565b600160a060020a03166000908152602091909152604090205460ff1690565b60085460009060ff161561134d57600080fd5b610d218484846119c5565b6113c2826009836040518082805190602001908083835b6020831061138e5780518252601f19909201916020918201910161136f565b51815160209384036101000a6000190180199092169116179052920194855250604051938490030190922092915050611b3a565b81600160a060020a03167fd211483f91fc6eff862467f8de606587a30c8fc9981056f051b897a418df803a826040518080602001828103825283818151815260200191508051906020019080838360005b8381101561142b578181015183820152602001611413565b50505050905090810190601f1680156114585780820380516001836020036101000a031916815260200191505b509250505060405180910390a25050565b8181018281101561147657fe5b92915050565b60006114ab336040805190810160405280600681526020016000805160206123b6833981519152815250610a94565b600854610100900460ff16156114c057600080fd5b6001546114d3908363ffffffff61146916565b600155600160a060020a0383166000908152602081905260409020546114ff908363ffffffff61146916565b600160a060020a03841660008181526020818152604091829020939093558051858152905191927f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d412139688592918290030190a2604080518381529051600160a060020a038516916000917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a350600192915050565b610da03382611b5c565b336000908152600260209081526040808320600160a060020a03861684529091528120548083106115f757336000908152600260209081526040808320600160a060020a038816845290915281205561162c565b611607818463ffffffff611c5d16565b336000908152600260209081526040808320600160a060020a03891684529091529020555b336000818152600260209081526040808320600160a060020a0389168085529083529281902054815190815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a3600191505b5092915050565b600354600160a060020a031633146116ab57600080fd5b60085460ff16156116bb57600080fd5b6008805460ff191660011790556040517f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62590600090a1565b61175d826009836040518082805190602001908083835b602083106117295780518252601f19909201916020918201910161170a565b51815160209384036101000a6000190180199092169116179052920194855250604051938490030190922092915050611c6f565b81600160a060020a03167fbfec83d64eaa953f2708271a023ab9ee82057f8f3578d548c1a4ba0b5b700489826040518080602001828103825283818151815260200191508051906020019080838360008381101561142b578181015183820152602001611413565b60085460009060ff16156117d857600080fd5b610a8d8383611c94565b60085460009060ff16156117f557600080fd5b610d21848484611cb1565b336000908152600260209081526040808320600160a060020a0386168452909152812054611834908363ffffffff61146916565b336000818152600260209081526040808320600160a060020a0389168085529083529281902085905580519485525191937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a350600192915050565b600160a060020a03811615156118ae57600080fd5b600354604051600160a060020a038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a36003805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60085460009060ff161561192a57600080fd5b61127685858585611cde565b336000818152600260209081526040808320600160a060020a038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b6005805474ff0000000000000000000000000000000000000000191660a060020a179055600190565b600160a060020a0383166000908152602081905260408120548211156119ea57600080fd5b600160a060020a0384166000908152600260209081526040808320338452909152902054821115611a1a57600080fd5b600160a060020a0383161515611a2f57600080fd5b600160a060020a038416600090815260208190526040902054611a58908363ffffffff611c5d16565b600160a060020a038086166000908152602081905260408082209390935590851681522054611a8d908363ffffffff61146916565b600160a060020a03808516600090815260208181526040808320949094559187168152600282528281203382529091522054611acf908363ffffffff611c5d16565b600160a060020a03808616600081815260026020908152604080832033845282529182902094909455805186815290519287169391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a35060019392505050565b600160a060020a0316600090815260209190915260409020805460ff19169055565b600160a060020a038216600090815260208190526040902054811115611b8157600080fd5b600160a060020a038216600090815260208190526040902054611baa908263ffffffff611c5d16565b600160a060020a038316600090815260208190526040902055600154611bd6908263ffffffff611c5d16565b600155604080518281529051600160a060020a038416917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5919081900360200190a2604080518281529051600091600160a060020a038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b600082821115611c6957fe5b50900390565b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b60085460009060ff1615611ca757600080fd5b610a8d8383611fbc565b6000611cbc84611feb565b15611cd357611ccc848484611ff3565b9050610a8d565b611ccc8484846121f6565b6000611ce985611feb565b15611faa5783611cf833610eef565b11611d0257600080fd5b611d1b84611d0f33610eef565b9063ffffffff611c5d16565b33600090815260208190526040902055611d4484611d3887610eef565b9063ffffffff61146916565b60008087600160a060020a0316600160a060020a031681526020019081526020016000208190555084600160a060020a03166000836040516020018082805190602001908083835b60208310611dab5780518252601f199092019160209182019101611d8c565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040516020818303038152906040526040518082805190602001908083835b60208310611e0e5780518252601f199092019160209182019101611def565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060e060020a9004903387876040518563ffffffff1660e060020a0281526004018084600160a060020a0316600160a060020a03168152602001838152602001828051906020019080838360005b83811015611ea0578181015183820152602001611e88565b50505050905090810190601f168015611ecd5780820380516001836020036101000a031916815260200191505b50935050505060006040518083038185885af193505050501515611eed57fe5b84600160a060020a031633600160a060020a03167fe19260aff97b920c7df27010903aeb9c8d2be5d310a2c67824cf3f15396e4c1686866040518083815260200180602001828103825283818151815260200191508051906020019080838360005b83811015611f67578181015183820152602001611f4f565b50505050905090810190601f168015611f945780820380516001836020036101000a031916815260200191505b50935050505060405180910390a3506001610d21565b611fb58585856121f6565b9050610d21565b60006060611fc984611feb565b15611fe057611fd9848483611ff3565b915061168d565b611fd98484836121f6565b6000903b1190565b6000808361200033610eef565b1161200a57600080fd5b61201784611d0f33610eef565b3360009081526020819052604090205561203484611d3887610eef565b600160a060020a0386166000818152602081815260408083209490945592517fc0ee0b8a0000000000000000000000000000000000000000000000000000000081523360048201818152602483018a90526060604484019081528951606485015289518c9850959663c0ee0b8a9693958c958c956084909101928601918190849084905b838110156120d05781810151838201526020016120b8565b50505050905090810190601f1680156120fd5780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b15801561211e57600080fd5b505af1158015612132573d6000803e3d6000fd5b5050505084600160a060020a031633600160a060020a03167fe19260aff97b920c7df27010903aeb9c8d2be5d310a2c67824cf3f15396e4c1686866040518083815260200180602001828103825283818151815260200191508051906020019080838360005b838110156121b0578181015183820152602001612198565b50505050905090810190601f1680156121dd5780820380516001836020036101000a031916815260200191505b50935050505060405180910390a3506001949350505050565b60008261220233610eef565b1161220c57600080fd5b61221983611d0f33610eef565b3360009081526020819052604090205561223683611d3886610eef565b60008086600160a060020a0316600160a060020a031681526020019081526020016000208190555083600160a060020a031633600160a060020a03167fe19260aff97b920c7df27010903aeb9c8d2be5d310a2c67824cf3f15396e4c1685856040518083815260200180602001828103825283818151815260200191508051906020019080838360005b838110156122d85781810151838201526020016122c0565b50505050905090810190601f1680156123055780820380516001836020036101000a031916815260200191505b50935050505060405180910390a35060019392505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061235e57805160ff191683800117855561238b565b8280016001018555821561238b579182015b8281111561238b578251825591602001919060010190612370565b5061239792915061239b565b5090565b610b4a91905b8082111561239757600081556001016123a156006d696e7465720000000000000000000000000000000000000000000000000000a165627a7a723058200ab4654171e2f6308a8b6e1d72582ed84d24d09211a010f352ce710c81b3a9890029",
  "sourceMap": "75:2694:1:-;;;247:26:41;;;-1:-1:-1;;436:35:48;;;1524:26:7;;;-1:-1:-1;;1524:26:7;1548:2;1524:26;;;122:138:1;5:2:-1;;;;30:1;27;20:12;5:2;122:138:1;;;;;;;;;;;;;;;;;;;;;;;;;;567:5:43;:18;;-1:-1:-1;;;;;;567:18:43;575:10;567:18;;;122:138:1;;;;;;;;;;;;;;649:38:40;668:18;649;;;;:38;:::i;:::-;-1:-1:-1;;;;;568:20:22;;;;560:29;;;;;;600:8;:31;;620:10;-1:-1:-1;;;;;;600:31:22;;;;;;;641:5;:14;;;;;-1:-1:-1;;;;;641:14:22;;;;;666:40;685:20;666:18;;;;:40;:::i;:::-;-1:-1:-1;591:12:25;;;;:4;;:12;;;;;:::i;:::-;-1:-1:-1;613:16:25;;;;:6;;:16;;;;;:::i;:::-;-1:-1:-1;640:37:25;659:17;640:18;;;;:37;:::i;:::-;-1:-1:-1;2061:43:7;;-1:-1:-1;2080:23:7;;-1:-1:-1;2061:18:7;;;;:43;:::i;:::-;1926:186;;;122:138:1;;;75:2694;;987:156:40;1065:26;;;;;;1057:35;;;;;;1098:33;;;;;;:19;:33;;;;;:40;;-1:-1:-1;;1098:40:40;1134:4;1098:40;;;987:156::o;75:2694:1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;75:2694:1;;;-1:-1:-1;75:2694:1;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;",
  "deployedSourceMap": "75:2694:1:-;;;;;;;;;-1:-1:-1;;;75:2694:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;775:142:40;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;775:142:40;-1:-1:-1;;775:142:40;;;;;;;;;;;;;;;;;;;;;;;436:35:48;;8:9:-1;5:2;;;30:1;27;20:12;5:2;436:35:48;;;;418:18:25;;8:9:-1;5:2;;;30:1;27;20:12;5:2;418:18:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;418:18:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3596:138:7;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;3596:138:7;-1:-1:-1;;;;;3596:138:7;;;;;;;837:114:37;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;837:114:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;837:114:37;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;837:114:37;;-1:-1:-1;837:114:37;;-1:-1:-1;;;;;;;837:114:37;;;2695:177:7;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2695:177:7;;;;358:53:25;;8:9:-1;5:2;;;30:1;27;20:12;5:2;358:53:25;;;;;;;;-1:-1:-1;;358:53:25;;;;;;;;;;;;;;389:83:44;;8:9:-1;5:2;;;30:1;27;20:12;5:2;389:83:44;;;;;;;;;;;;;;;;;;;;53:21:21;;8:9:-1;5:2;;;30:1;27;20:12;5:2;53:21:21;;;;230:54:40;;8:9:-1;5:2;;;30:1;27;20:12;5:2;230:54:40;;;;267:2499:1;;8:9:-1;5:2;;;30:1;27;20:12;5:2;267:2499:1;;;;1616:26:7;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1616:26:7;;;;1091:136:37;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1091:136:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1091:136:37;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1091:136:37;;-1:-1:-1;1091:136:37;;-1:-1:-1;;;;;;;1091:136:37;3396:194:7;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;3396:194:7;-1:-1:-1;;;;;3396:194:7;;;;;;;;;;;;2569:120;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;2569:120:7;;;;;830:99:50;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;830:99:50;-1:-1:-1;;;;;830:99:50;;;;;1524:26:7;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1524:26:7;;;;;;;;;;;;;;;;;;;;;;;1674:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1674:20:7;;;;1556:28;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1556:28:7;;;;838:92:41;;8:9:-1;5:2;;;30:1;27;20:12;5:2;838:92:41;;;;3740:245:7;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;3740:245:7;-1:-1:-1;;;;;3740:245:7;;;;;;;3991:99;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;3991:99:7;;;;;1590:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1590:20:7;;;;247:26:41;;8:9:-1;5:2;;;30:1;27;20:12;5:2;247:26:41;;;;957:205:49;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;957:205:49;-1:-1:-1;;;;;957:205:49;;;;;;;484:24:22;;8:9:-1;5:2;;;30:1;27;20:12;5:2;484:24:22;;;;;;;;-1:-1:-1;;;;;484:24:22;;;;;;;;;;;;;;1149:99:44;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1149:99:44;-1:-1:-1;;;;;1149:99:44;;;;;1001:111:43;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1001:111:43;;;;1280:140:48;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1280:140:48;;;;4096:81:7;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4096:81:7;;;;238:20:43;;8:9:-1;5:2;;;30:1;27;20:12;5:2;238:20:43;;;;346:45:50;;8:9:-1;5:2;;;30:1;27;20:12;5:2;346:45:50;;;;442:20:25;;8:9:-1;5:2;;;30:1;27;20:12;5:2;442:20:25;;;;646:93:50;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;646:93:50;-1:-1:-1;;;;;646:93:50;;;;;1648:20:7;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1648:20:7;;;;3251:139;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;3251:139:7;-1:-1:-1;;;;;3251:139:7;;;;;;;3086:159;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;3086:159:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3086:159:7;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3086:159:7;;-1:-1:-1;3086:159:7;;-1:-1:-1;;;;;;;3086:159:7;758:195:49;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;758:195:49;-1:-1:-1;;;;;758:195:49;;;;;;;2321:153:51;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;2321:153:51;-1:-1:-1;;;;;2321:153:51;;;;;;;;;;2118:445:7;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;2118:445:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2118:445:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2118:445:7;;;;-1:-1:-1;2118:445:7;-1:-1:-1;2118:445:7;;-1:-1:-1;2118:445:7;;;;;;;;-1:-1:-1;2118:445:7;;-1:-1:-1;;2118:445:7;;;;;-1:-1:-1;;;2118:445:7;;;;;;;;;;;;-1:-1:-1;2118:445:7;;;;;;;-1:-1:-1;2118:445:7;;;;;;;1274:103:43;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1274:103:43;-1:-1:-1;;;;;1274:103:43;;;;;2878:202:7;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;2878:202:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2878:202:7;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2878:202:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2878:202:7;;;;-1:-1:-1;2878:202:7;-1:-1:-1;2878:202:7;;-1:-1:-1;2878:202:7;;;;;;;;-1:-1:-1;2878:202:7;;-1:-1:-1;2878:202:7;;-1:-1:-1;;;;;;;2878:202:7;1458:59;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1458:59:7;;;;421:56:22;;8:9:-1;5:2;;;30:1;27;20:12;5:2;421:56:22;;;;775:142:40;-1:-1:-1;;879:33:40;858:4;879:33;;;:19;:33;;;;;;;;;775:142::o;436:35:48:-;;;;;;;;;:::o;418:18:25:-;;;;;;;;;;;;;;;-1:-1:-1;;418:18:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;3596:138:7:-;122:9:21;;3675:4:7;;-1:-1:-1;;;122:9:21;;;;114:18;;;;;;;;3698:29:7;3712:7;3721:5;3698:13;:29::i;:::-;3691:36;3596:138;-1:-1:-1;;;3596:138:7:o;837:114:37:-;917:29;936:9;917:5;923;917:12;;;;;;;;;;;;;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;917:12:37;;;;;-1:-1:-1;917:12:37;;;;;;;;;;;;-1:-1:-1;;917:18:37;:29::i;:::-;837:114;;:::o;2695:177:7:-;201:9:21;;2748:4:7;;-1:-1:-1;;;201:9:21;;;;200:10;192:19;;;;;;2779:13:7;;2764:12;:28;;;2811:5;;-1:-1:-1;;;;;2811:5:7;-1:-1:-1;2802:15:7;;;;;;;;;;:30;2849:16;:14;:16::i;:::-;2842:23;;221:1:21;2695:177:7;:::o;358:53:25:-;;;:::o;389:83:44:-;455:12;;389:83;:::o;53:21:21:-;;;-1:-1:-1;;;53:21:21;;;;;:::o;230:54:40:-;;;:::o;267:2499:1:-;2696:51;;;;;;;;;;;;;;;;;;;;;2641:44;;;;;;;;;;;;;1886:38;;;;;;;;;;;;;;1625:1061;;;:1123;:998;:1123;267:2499;:::o;1616:26:7:-;;;;:::o;1091:136:37:-;1174:4;1195:27;1212:9;1195:5;1201;1195:12;;;;;;;;;;;;;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;1195:12:37;;;;;-1:-1:-1;1195:12:37;;;;;;;;;;;;-1:-1:-1;;1195:16:37;:27::i;3396:194:7:-;122:9:21;;3522:4:7;;-1:-1:-1;;;122:9:21;;;;114:18;;;;;;;;3545:38:7;3564:5;3571:3;3576:6;3545:18;:38::i;:::-;3538:45;3396:194;-1:-1:-1;;;;3396:194:7:o;2569:120::-;719:5:43;;-1:-1:-1;;;;;719:5:43;705:10;:19;697:28;;;;;;201:9:21;;-1:-1:-1;;;201:9:21;;;;200:10;192:19;;;;;;2656:11:7;:26;2569:120::o;830:99:50:-;719:5:43;;-1:-1:-1;;;;;719:5:43;705:10;:19;697:28;;;;;;892:32:50;903:7;912:11;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;912:11:50;;;892:10;:32::i;:::-;830:99;:::o;1524:26:7:-;;;;;;:::o;1674:20::-;;;;;;;;;:::o;1556:28::-;;;;:::o;838:92:41:-;719:5:43;;-1:-1:-1;;;;;719:5:43;705:10;:19;697:28;;;;;;568:6:41;;;;560:15;;;;;;;;891:6;:14;;-1:-1:-1;;891:14:41;;;916:9;;;;900:5;;916:9;838:92::o;3740:245:7:-;1818:8;;3827:4;;1818:8;;1810:17;;;;;;;;122:9:21;;-1:-1:-1;;;122:9:21;;;;114:18;;;;;;;;3861:1:7;3847:11;;:15;3843:95;;;3915:11;;3886:12;;:25;;3903:7;3886:25;:16;:25;:::i;:::-;:40;;3878:49;;;;;;3954:24;3965:3;3970:7;3954:10;:24::i;3991:99::-;1743:8;;;;1735:17;;;;;;;;122:9:21;;-1:-1:-1;;;122:9:21;;;;114:18;;;;;;;;4065::7;4076:6;4065:10;:18::i;1590:20::-;;;;;;:::o;247:26:41:-;;;;;;:::o;957:205:49:-;416:6:41;;1078:12:49;;416:6:41;;415:7;407:16;;;;;;1107:50:49;1130:8;1140:16;1107:22;:50::i;484:24:22:-;;;-1:-1:-1;;;;;484:24:22;;:::o;1149:99:44:-;-1:-1:-1;;;;;1227:16:44;1205:7;1227:16;;;;;;;;;;;;1149:99::o;1001:111:43:-;719:5;;-1:-1:-1;;;;;719:5:43;705:10;:19;697:28;;;;;;1077:5;;1058:25;;-1:-1:-1;;;;;1077:5:43;;;;1058:25;;1077:5;;1058:25;1089:5;:18;;-1:-1:-1;;1089:18:43;;;1001:111::o;1280:140:48:-;719:5:43;;1339:4:48;;-1:-1:-1;;;;;719:5:43;705:10;:19;697:28;;;;;;511:15:48;;;;;;;510:16;502:25;;;;;;1351:15;:22;;-1:-1:-1;;1351:22:48;;;;;1384:14;;;;1351:22;;1384:14;-1:-1:-1;1411:4:48;1280:140;:::o;4096:81:7:-;1893:8;;;;;;;1885:17;;;;;;;;122:9:21;;-1:-1:-1;;;122:9:21;;;;114:18;;;;;;;;4157:13:7;:11;:13::i;:::-;4096:81::o;238:20:43:-;;;-1:-1:-1;;;;;238:20:43;;:::o;346:45:50:-;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;346:45:50;;;;;:::o;442:20:25:-;;;;;;;;;;;;;;;-1:-1:-1;;442:20:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;646:93:50;719:5:43;;-1:-1:-1;;;;;719:5:43;705:10;:19;697:28;;;;;;705:29:50;713:7;722:11;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;722:11:50;;;705:7;:29::i;1648:20:7:-;;;;;;:::o;3251:139::-;122:9:21;;3325:12:7;;-1:-1:-1;;;122:9:21;;;;114:18;;;;;;;;3356:27:7;3371:3;3376:6;3356:14;:27::i;3086:159::-;122:9:21;;3173:12:7;;-1:-1:-1;;;122:9:21;;;;114:18;;;;;;;;3204:34:7;3219:3;3224:6;3232:5;3204:14;:34::i;758:195:49:-;416:6:41;;874:12:49;;416:6:41;;415:7;407:16;;;;;;903:45:49;926:8;936:11;903:22;:45::i;2321:153:51:-;-1:-1:-1;;;;;2444:15:51;;;2420:7;2444:15;;;:7;:15;;;;;;;;:25;;;;;;;;;;;;;2321:153::o;2118:445:7:-;719:5:43;;-1:-1:-1;;;;;719:5:43;705:10;:19;697:28;;;;;;201:9:21;;-1:-1:-1;;;201:9:21;;;;200:10;192:19;;;;;;2358:12:7;;;;:4;;:12;;;;;:::i;:::-;-1:-1:-1;2380:16:7;;;;:6;;:16;;;;;:::i;:::-;-1:-1:-1;2406:8:7;:20;;-1:-1:-1;;2406:20:7;;;;;;;;;;;;;;2436:13;:30;;;;2476:8;:20;;;;;;;;;;;;;;2506:8;:20;;;;;;;;;-1:-1:-1;;2536:20:7;2406;2536;;;;;;;;;;-1:-1:-1;;2118:445:7:o;1274:103:43:-;719:5;;-1:-1:-1;;;;;719:5:43;705:10;:19;697:28;;;;;;1343:29;1362:9;1343:18;:29::i;2878:202:7:-;122:9:21;;2990:12:7;;-1:-1:-1;;;122:9:21;;;;114:18;;;;;;;;3021:52:7;3036:3;3041:6;3049:5;3056:16;3021:14;:52::i;:::-;3014:59;2878:202;-1:-1:-1;;;;;2878:202:7:o;1458:59::-;;;:::o;421:56:22:-;;;:::o;592:162:49:-;416:6:41;;697:4:49;;416:6:41;;415:7;407:16;;;;;;718:31:49;732:8;742:6;718:13;:31::i;666:111:38:-;754:17;758:5;765;754:3;:17::i;:::-;746:26;;;;;;;690:92:25;719:5:43;;736:4:25;;-1:-1:-1;;;;;719:5:43;705:10;:19;697:28;;;;;;759:16:25;:14;:16::i;855:128:38:-;-1:-1:-1;;;;;959:19:38;938:4;959:19;;;;;;;;;;;;;;;855:128::o;400:188:49:-;416:6:41;;524:4:49;;416:6:41;;415:7;407:16;;;;;;545:38:49;564:5;571:3;576:6;545:18;:38::i;1613:149:37:-;1687:30;1707:9;1687:5;1693;1687:12;;;;;;;;;;;;;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;1687:12:37;;;;;-1:-1:-1;1687:12:37;;;;;;;;;;;;-1:-1:-1;;1687:19:37;:30::i;:::-;1740:9;-1:-1:-1;;;;;1728:29:37;;1751:5;1728:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;1728:29:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1613:149;;:::o;1238:128:42:-;1319:7;;;1339;;;;1332:15;;;;1238:128;;;;:::o;854:312:48:-;968:4;514:34:50;524:10;536:11;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;536:11:50;;;514:9;:34::i;:::-;511:15:48;;;;;;;510:16;502:25;;;;;;997:12;;:25;;1014:7;997:25;:16;:25;:::i;:::-;982:12;:40;-1:-1:-1;;;;;1044:13:48;;:8;:13;;;;;;;;;;;:26;;1062:7;1044:26;:17;:26;:::i;:::-;-1:-1:-1;;;;;1028:13:48;;:8;:13;;;;;;;;;;;;:42;;;;1081:18;;;;;;;1028:13;;1081:18;;;;;;;;;1110:34;;;;;;;;-1:-1:-1;;;;;1110:34:48;;;1127:1;;1110:34;;;;;;;;;-1:-1:-1;1157:4:48;854:312;;;;:::o;353:73:45:-;396:25;402:10;414:6;396:5;:25::i;3679:432:51:-;3826:10;3785:4;3818:19;;;:7;:19;;;;;;;;-1:-1:-1;;;;;3818:29:51;;;;;;;;;;3857:28;;;3853:165;;3903:10;3927:1;3895:19;;;:7;:19;;;;;;;;-1:-1:-1;;;;;3895:29:51;;;;;;;;;:33;3853:165;;;3981:30;:8;3994:16;3981:30;:12;:30;:::i;:::-;3957:10;3949:19;;;;:7;:19;;;;;;;;-1:-1:-1;;;;;3949:29:51;;;;;;;;;:62;3853:165;4037:10;4059:19;;;;:7;:19;;;;;;;;-1:-1:-1;;;;;4028:61:51;;4059:29;;;;;;;;;;;4028:61;;;;;;;;;4037:10;4028:61;;;;;;;;;;;4102:4;4095:11;;3679:432;;;;;;:::o;666:90:41:-;719:5:43;;-1:-1:-1;;;;;719:5:43;705:10;:19;697:28;;;;;;416:6:41;;;;415:7;407:16;;;;;;720:6;:13;;-1:-1:-1;;720:13:41;729:4;720:13;;;744:7;;;;720:6;;744:7;666:90::o;1347:141:37:-;1418:27;1435:9;1418:5;1424;1418:12;;;;;;;;;;;;;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;1418:12:37;;;;;-1:-1:-1;1418:12:37;;;;;;;;;;;;-1:-1:-1;;1418:16:37;:27::i;:::-;1466:9;-1:-1:-1;;;;;1456:27:37;;1477:5;1456:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;578:139:4;416:6:41;;652:12:4;;416:6:41;;415:7;407:16;;;;;;683:27:4;698:3;703:6;683:14;:27::i;413:159::-;416:6:41;;500:12:4;;416:6:41;;415:7;407:16;;;;;;531:34:4;546:3;551:6;559:5;531:14;:34::i;2926:296:51:-;3089:10;3027:4;3081:19;;;:7;:19;;;;;;;;-1:-1:-1;;;;;3081:29:51;;;;;;;;;;:46;;3115:11;3081:46;:33;:46;:::i;:::-;3049:10;3041:19;;;;:7;:19;;;;;;;;-1:-1:-1;;;;;3041:29:51;;;;;;;;;;;;:87;;;3139:61;;;;;;3041:29;;3139:61;;;;;;;;;;;-1:-1:-1;3213:4:51;2926:296;;;;:::o;1512:171:43:-;-1:-1:-1;;;;;1582:23:43;;;;1574:32;;;;;;1638:5;;1617:38;;-1:-1:-1;;;;;1617:38:43;;;;1638:5;;1617:38;;1638:5;;1617:38;1661:5;:17;;-1:-1:-1;;1661:17:43;-1:-1:-1;;;;;1661:17:43;;;;;;;;;;1512:171::o;205:202:4:-;416:6:41;;317:12:4;;416:6:41;;415:7;407:16;;;;;;348:52:4;363:3;368:6;376:5;383:16;348:14;:52::i;1814:188:51:-;1901:10;1881:4;1893:19;;;:7;:19;;;;;;;;-1:-1:-1;;;;;1893:29:51;;;;;;;;;;;:38;;;1942;;;;;;;1881:4;;1893:29;;1901:10;;1942:38;;;;;;;;-1:-1:-1;1993:4:51;1814:188;;;;:::o;235:96:21:-;287:9;:16;;-1:-1:-1;;287:16:21;-1:-1:-1;;;287:16:21;;;299:4;235:96;:::o;726:470:51:-;-1:-1:-1;;;;;864:15:51;;832:4;864:15;;;;;;;;;;;854:25;;;846:34;;;;;;-1:-1:-1;;;;;904:14:51;;;;;;:7;:14;;;;;;;;919:10;904:26;;;;;;;;894:36;;;886:45;;;;;;-1:-1:-1;;;;;945:17:51;;;;937:26;;;;;;-1:-1:-1;;;;;988:15:51;;:8;:15;;;;;;;;;;;:27;;1008:6;988:27;:19;:27;:::i;:::-;-1:-1:-1;;;;;970:15:51;;;:8;:15;;;;;;;;;;;:45;;;;1037:13;;;;;;;:25;;1055:6;1037:25;:17;:25;:::i;:::-;-1:-1:-1;;;;;1021:13:51;;;:8;:13;;;;;;;;;;;:41;;;;1097:14;;;;;:7;:14;;;;;1112:10;1097:26;;;;;;;:38;;1128:6;1097:38;:30;:38;:::i;:::-;-1:-1:-1;;;;;1068:14:51;;;;;;;:7;:14;;;;;;;;1083:10;1068:26;;;;;;;;:67;;;;1146:28;;;;;;;;;;;1068:14;;1146:28;;;;;;;;;;;-1:-1:-1;1187:4:51;726:470;;;;;:::o;486:104:38:-;-1:-1:-1;;;;;558:19:38;580:5;558:19;;;;;;;;;;;:27;;-1:-1:-1;;558:27:38;;;486:104::o;430:438:45:-;-1:-1:-1;;;;;508:14:45;;:8;:14;;;;;;;;;;;498:24;;;490:33;;;;;;-1:-1:-1;;;;;718:14:45;;:8;:14;;;;;;;;;;;:26;;737:6;718:26;:18;:26;:::i;:::-;-1:-1:-1;;;;;701:14:45;;:8;:14;;;;;;;;;;:43;765:12;;:24;;782:6;765:24;:16;:24;:::i;:::-;750:12;:39;800:18;;;;;;;;-1:-1:-1;;;;;800:18:45;;;;;;;;;;;;;829:34;;;;;;;;852:1;;-1:-1:-1;;;;;829:34:45;;;;;;;;;;;;430:438;;:::o;1060:116:42:-;1120:7;1142:8;;;;1135:16;;;;-1:-1:-1;1164:7:42;;;1060:116::o;321:100:38:-;-1:-1:-1;;;;;390:19:38;:12;:19;;;;;;;;;;;:26;;-1:-1:-1;;390:26:38;412:4;390:26;;;321:100::o;242:154:49:-;416:6:41;;343:4:49;;416:6:41;;415:7;407:16;;;;;;364:27:49;379:3;384:6;364:14;:27::i;1064:278:6:-;1137:12;1166:15;1177:3;1166:10;:15::i;:::-;1162:174;;;1204:38;1223:3;1228:6;1236:5;1204:18;:38::i;:::-;1197:45;;;;1162:174;1288:37;1306:3;1311:6;1319:5;1288:17;:37::i;338:630::-;436:12;465:15;476:3;465:10;:15::i;:::-;461:501;;;528:6;504:21;514:10;504:9;:21::i;:::-;:30;496:39;;;;;;572:33;598:6;572:21;582:10;572:9;:21::i;:::-;:25;:33;:25;:33;:::i;:::-;558:10;549:8;:20;;;;;;;;;;:56;635:26;654:6;635:14;645:3;635:9;:14::i;:::-;:18;:26;:18;:26;:::i;:::-;619:8;:13;628:3;-1:-1:-1;;;;;619:13:6;-1:-1:-1;;;;;619:13:6;;;;;;;;;;;;:42;;;;682:3;-1:-1:-1;;;;;682:8:6;697:1;734:16;717:34;;;;;;;;;;;;;;;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;717:34:6;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;717:34:6;;;707:45;;;;;;;;;;;;;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;707:45:6;;;;;;;;;;;;;;;;-1:-1:-1;;;682:99:6;;;755:10;767:6;775:5;682:99;;;;;-1:-1:-1;;;682:99:6;;;;;;;-1:-1:-1;;;;;682:99:6;-1:-1:-1;;;;;682:99:6;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;682:99:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;675:107;;;;;;823:3;-1:-1:-1;;;;;802:40:6;811:10;-1:-1:-1;;;;;802:40:6;;828:6;836:5;802:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;802:40:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;864:4:6;857:11;;461:501;914:37;932:3;937:6;945:5;914:17;:37::i;:::-;907:44;;;;1479:426;1539:12;1696:18;1729:15;1740:3;1729:10;:15::i;:::-;1725:174;;;1767:38;1786:3;1791:6;1799:5;1767:18;:38::i;:::-;1760:45;;;;1725:174;1851:37;1869:3;1874:6;1882:5;1851:17;:37::i;2004:284::-;2061:16;2224:18;;2270:10;;2004:284::o;2788:484::-;2872:12;3065:32;2929:6;2905:21;2915:10;2905:9;:21::i;:::-;:30;2897:39;;;;;;2969:33;2995:6;2969:21;2979:10;2969:9;:21::i;:33::-;2955:10;2946:8;:20;;;;;;;;;;:56;3028:26;3047:6;3028:14;3038:3;3028:9;:14::i;:26::-;-1:-1:-1;;;;;3012:13:6;;:8;:13;;;;;;;;;;;:42;;;;3138:49;;;;;3161:10;3138:49;;;;;;;;;;;;;;;;;;;;;;;;;;;3021:3;;-1:-1:-1;3012:13:6;;3138:22;;3161:10;;3173:6;;3181:5;;3138:49;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;3138:49:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3138:49:6;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3138:49:6;;;;3224:3;-1:-1:-1;;;;;3203:40:6;3212:10;-1:-1:-1;;;;;3203:40:6;;3229:6;3237:5;3203:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;3203:40:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3261:4:6;;2788:484;-1:-1:-1;;;;2788:484:6:o;2363:350::-;2446:12;2503:6;2479:21;2489:10;2479:9;:21::i;:::-;:30;2471:39;;;;;;2543:33;2569:6;2543:21;2553:10;2543:9;:21::i;:33::-;2529:10;2520:8;:20;;;;;;;;;;:56;2602:26;2621:6;2602:14;2612:3;2602:9;:14::i;:26::-;2586:8;:13;2595:3;-1:-1:-1;;;;;2586:13:6;-1:-1:-1;;;;;2586:13:6;;;;;;;;;;;;:42;;;;2665:3;-1:-1:-1;;;;;2644:40:6;2653:10;-1:-1:-1;;;;;2644:40:6;;2670:6;2678:5;2644:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;2644:40:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2702:4:6;2363:350;;;;;:::o;75:2694:1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;75:2694:1;;;-1:-1:-1;75:2694:1;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;",
  "source": "pragma solidity ^0.4.24;\n\nimport \"../../../token/erc223/ERC223Token.sol\";\n\ncontract CalculateERC223 is ERC223Token {\n\n    constructor(\n        address _owner,\n        string _name,\n        string _symbol\n    ) public ERC223Token(_owner, _name, _symbol){\n\n    }\n\n\n    function CalculateSelector() public pure returns (bytes4){\n\n        //    return this.owner.selector ^ this.renounceOwnership.selector ^ this.transferOwnership.selector\n        //    ^ this.template.selector ^ this.activate.selector\n        //    ^ this.name.selector ^ this.symbol.selector\n        //    ^ this.totalSupply.selector ^ this.balanceOf.selector ^ bytes4(keccak256(\"transfer(address,uint256)\"))\n        //    ^ this.allowance.selector ^ this.transferFrom.selector ^ this.approve.selector\n        //    ^ this.increaseApproval.selector ^ this.decreaseApproval.selector\n        //    ^ bytes4(keccak256(\"transfer(address,uint256,bytes)\")) ^ bytes4(keccak256(\"transfer(address,uint256,bytes,string\"))\n        //    ^ this.mintingFinished.selector ^ this.checkRole.selector ^ this.activated.selector ^ this.maxMintable.selector\n        //        ^ this.hasRole.selector ^ this.removeMinter.selector ^ this.decimals.selector ^ this.pausable.selector\n        //        ^ this.initialSupply.selector ^ this.unpause.selector ^ this.mintable.selector ^ this.paused.selector\n        //        ^ this.finishMinting.selector ^ this.ROLE_MINTER.selector ^ this.addMinter.selector ^ this.burnable.selector\n        //        ^ this.update.selector ^ this.setMaxMintable.selector ^ this.mint.selector ^ this.burn.selector ^ this.pause.selector;\n\n        return this.owner.selector ^ this.renounceOwnership.selector ^ this.transferOwnership.selector\n        ^ this.template.selector ^ this.activate.selector ^ this.name.selector ^ this.symbol.selector\n        ^ this.totalSupply.selector ^ this.balanceOf.selector ^ bytes4(keccak256(\"transfer(address,uint256)\"))\n        ^ this.allowance.selector ^ this.transferFrom.selector ^ this.approve.selector\n        ^ this.increaseApproval.selector ^ this.decreaseApproval.selector\n        ^ this.mintingFinished.selector ^ this.finishMinting.selector ^ this.checkRole.selector ^ this.hasRole.selector\n        ^ this.ROLE_MINTER.selector ^ this.addMinter.selector ^ this.removeMinter.selector\n        ^ this.burn.selector ^ this.paused.selector ^ this.pause.selector ^ this.unpause.selector\n        ^ this.decimals.selector ^ this.initialSupply.selector ^ this.mintable.selector ^ this.maxMintable.selector\n        ^ this.burnable.selector ^ this.pausable.selector ^ this.update.selector ^ this.setMaxMintable.selector\n        ^ bytes4(keccak256(\"transfer(address,uint256,bytes)\")) ^ bytes4(keccak256(\"transfer(address,uint256,bytes,string)\"))\n        ;\n\n\n    }\n\n}\n",
  "sourcePath": "/Users/dowonlee/Desktop/dowon/DNext/tokenboost/tokenboost-solidity-erc223token/contracts/template/token/erc223/CalculateERC223.sol",
  "ast": {
    "absolutePath": "/Users/dowonlee/Desktop/dowon/DNext/tokenboost/tokenboost-solidity-erc223token/contracts/template/token/erc223/CalculateERC223.sol",
    "exportedSymbols": {
      "CalculateERC223": [
        233
      ]
    },
    "id": 234,
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 58,
        "literals": [
          "solidity",
          "^",
          "0.4",
          ".24"
        ],
        "nodeType": "PragmaDirective",
        "src": "0:24:1"
      },
      {
        "absolutePath": "/Users/dowonlee/Desktop/dowon/DNext/tokenboost/tokenboost-solidity-erc223token/contracts/token/erc223/ERC223Token.sol",
        "file": "../../../token/erc223/ERC223Token.sol",
        "id": 59,
        "nodeType": "ImportDirective",
        "scope": 234,
        "sourceUnit": 1037,
        "src": "26:47:1",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "baseContracts": [
          {
            "arguments": null,
            "baseName": {
              "contractScope": null,
              "id": 60,
              "name": "ERC223Token",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 1036,
              "src": "103:11:1",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_ERC223Token_$1036",
                "typeString": "contract ERC223Token"
              }
            },
            "id": 61,
            "nodeType": "InheritanceSpecifier",
            "src": "103:11:1"
          }
        ],
        "contractDependencies": [
          321,
          393,
          711,
          1036,
          3168,
          3212,
          3520,
          6531,
          6611,
          6662,
          6722,
          6902,
          6998,
          7069,
          7112,
          7144,
          7250,
          7352,
          7400,
          7647
        ],
        "contractKind": "contract",
        "documentation": null,
        "fullyImplemented": true,
        "id": 233,
        "linearizedBaseContracts": [
          233,
          1036,
          7400,
          6531,
          7250,
          7069,
          393,
          7352,
          6722,
          3520,
          3168,
          3212,
          6662,
          6611,
          6902,
          711,
          7647,
          6998,
          7112,
          7144,
          321
        ],
        "name": "CalculateERC223",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "body": {
              "id": 75,
              "nodeType": "Block",
              "src": "252:8:1",
              "statements": []
            },
            "documentation": null,
            "id": 76,
            "implemented": true,
            "isConstructor": true,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "id": 70,
                    "name": "_owner",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 63,
                    "src": "229:6:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  {
                    "argumentTypes": null,
                    "id": 71,
                    "name": "_name",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 65,
                    "src": "237:5:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory_ptr",
                      "typeString": "string memory"
                    }
                  },
                  {
                    "argumentTypes": null,
                    "id": 72,
                    "name": "_symbol",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 67,
                    "src": "244:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory_ptr",
                      "typeString": "string memory"
                    }
                  }
                ],
                "id": 73,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 69,
                  "name": "ERC223Token",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 1036,
                  "src": "217:11:1",
                  "typeDescriptions": {
                    "typeIdentifier": "t_type$_t_contract$_ERC223Token_$1036_$",
                    "typeString": "type(contract ERC223Token)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "217:35:1"
              }
            ],
            "name": "",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 68,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 63,
                  "name": "_owner",
                  "nodeType": "VariableDeclaration",
                  "scope": 76,
                  "src": "143:14:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 62,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "143:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 65,
                  "name": "_name",
                  "nodeType": "VariableDeclaration",
                  "scope": 76,
                  "src": "167:12:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 64,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "167:6:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 67,
                  "name": "_symbol",
                  "nodeType": "VariableDeclaration",
                  "scope": 76,
                  "src": "189:14:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 66,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "189:6:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "133:76:1"
            },
            "payable": false,
            "returnParameters": {
              "id": 74,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "252:0:1"
            },
            "scope": 233,
            "src": "122:138:1",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 231,
              "nodeType": "Block",
              "src": "324:2442:1",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    },
                    "id": 229,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "commonType": {
                        "typeIdentifier": "t_bytes4",
                        "typeString": "bytes4"
                      },
                      "id": 223,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_bytes4",
                          "typeString": "bytes4"
                        },
                        "id": 217,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_bytes4",
                            "typeString": "bytes4"
                          },
                          "id": 213,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "commonType": {
                              "typeIdentifier": "t_bytes4",
                              "typeString": "bytes4"
                            },
                            "id": 209,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "leftExpression": {
                              "argumentTypes": null,
                              "commonType": {
                                "typeIdentifier": "t_bytes4",
                                "typeString": "bytes4"
                              },
                              "id": 205,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftExpression": {
                                "argumentTypes": null,
                                "commonType": {
                                  "typeIdentifier": "t_bytes4",
                                  "typeString": "bytes4"
                                },
                                "id": 201,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftExpression": {
                                  "argumentTypes": null,
                                  "commonType": {
                                    "typeIdentifier": "t_bytes4",
                                    "typeString": "bytes4"
                                  },
                                  "id": 197,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "leftExpression": {
                                    "argumentTypes": null,
                                    "commonType": {
                                      "typeIdentifier": "t_bytes4",
                                      "typeString": "bytes4"
                                    },
                                    "id": 193,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "leftExpression": {
                                      "argumentTypes": null,
                                      "commonType": {
                                        "typeIdentifier": "t_bytes4",
                                        "typeString": "bytes4"
                                      },
                                      "id": 189,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "leftExpression": {
                                        "argumentTypes": null,
                                        "commonType": {
                                          "typeIdentifier": "t_bytes4",
                                          "typeString": "bytes4"
                                        },
                                        "id": 185,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "leftExpression": {
                                          "argumentTypes": null,
                                          "commonType": {
                                            "typeIdentifier": "t_bytes4",
                                            "typeString": "bytes4"
                                          },
                                          "id": 181,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "leftExpression": {
                                            "argumentTypes": null,
                                            "commonType": {
                                              "typeIdentifier": "t_bytes4",
                                              "typeString": "bytes4"
                                            },
                                            "id": 177,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "leftExpression": {
                                              "argumentTypes": null,
                                              "commonType": {
                                                "typeIdentifier": "t_bytes4",
                                                "typeString": "bytes4"
                                              },
                                              "id": 173,
                                              "isConstant": false,
                                              "isLValue": false,
                                              "isPure": false,
                                              "lValueRequested": false,
                                              "leftExpression": {
                                                "argumentTypes": null,
                                                "commonType": {
                                                  "typeIdentifier": "t_bytes4",
                                                  "typeString": "bytes4"
                                                },
                                                "id": 169,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "leftExpression": {
                                                  "argumentTypes": null,
                                                  "commonType": {
                                                    "typeIdentifier": "t_bytes4",
                                                    "typeString": "bytes4"
                                                  },
                                                  "id": 165,
                                                  "isConstant": false,
                                                  "isLValue": false,
                                                  "isPure": false,
                                                  "lValueRequested": false,
                                                  "leftExpression": {
                                                    "argumentTypes": null,
                                                    "commonType": {
                                                      "typeIdentifier": "t_bytes4",
                                                      "typeString": "bytes4"
                                                    },
                                                    "id": 161,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "leftExpression": {
                                                      "argumentTypes": null,
                                                      "commonType": {
                                                        "typeIdentifier": "t_bytes4",
                                                        "typeString": "bytes4"
                                                      },
                                                      "id": 157,
                                                      "isConstant": false,
                                                      "isLValue": false,
                                                      "isPure": false,
                                                      "lValueRequested": false,
                                                      "leftExpression": {
                                                        "argumentTypes": null,
                                                        "commonType": {
                                                          "typeIdentifier": "t_bytes4",
                                                          "typeString": "bytes4"
                                                        },
                                                        "id": 153,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": false,
                                                        "lValueRequested": false,
                                                        "leftExpression": {
                                                          "argumentTypes": null,
                                                          "commonType": {
                                                            "typeIdentifier": "t_bytes4",
                                                            "typeString": "bytes4"
                                                          },
                                                          "id": 149,
                                                          "isConstant": false,
                                                          "isLValue": false,
                                                          "isPure": false,
                                                          "lValueRequested": false,
                                                          "leftExpression": {
                                                            "argumentTypes": null,
                                                            "commonType": {
                                                              "typeIdentifier": "t_bytes4",
                                                              "typeString": "bytes4"
                                                            },
                                                            "id": 145,
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "leftExpression": {
                                                              "argumentTypes": null,
                                                              "commonType": {
                                                                "typeIdentifier": "t_bytes4",
                                                                "typeString": "bytes4"
                                                              },
                                                              "id": 141,
                                                              "isConstant": false,
                                                              "isLValue": false,
                                                              "isPure": false,
                                                              "lValueRequested": false,
                                                              "leftExpression": {
                                                                "argumentTypes": null,
                                                                "commonType": {
                                                                  "typeIdentifier": "t_bytes4",
                                                                  "typeString": "bytes4"
                                                                },
                                                                "id": 137,
                                                                "isConstant": false,
                                                                "isLValue": false,
                                                                "isPure": false,
                                                                "lValueRequested": false,
                                                                "leftExpression": {
                                                                  "argumentTypes": null,
                                                                  "commonType": {
                                                                    "typeIdentifier": "t_bytes4",
                                                                    "typeString": "bytes4"
                                                                  },
                                                                  "id": 133,
                                                                  "isConstant": false,
                                                                  "isLValue": false,
                                                                  "isPure": false,
                                                                  "lValueRequested": false,
                                                                  "leftExpression": {
                                                                    "argumentTypes": null,
                                                                    "commonType": {
                                                                      "typeIdentifier": "t_bytes4",
                                                                      "typeString": "bytes4"
                                                                    },
                                                                    "id": 129,
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "leftExpression": {
                                                                      "argumentTypes": null,
                                                                      "commonType": {
                                                                        "typeIdentifier": "t_bytes4",
                                                                        "typeString": "bytes4"
                                                                      },
                                                                      "id": 125,
                                                                      "isConstant": false,
                                                                      "isLValue": false,
                                                                      "isPure": false,
                                                                      "lValueRequested": false,
                                                                      "leftExpression": {
                                                                        "argumentTypes": null,
                                                                        "commonType": {
                                                                          "typeIdentifier": "t_bytes4",
                                                                          "typeString": "bytes4"
                                                                        },
                                                                        "id": 121,
                                                                        "isConstant": false,
                                                                        "isLValue": false,
                                                                        "isPure": false,
                                                                        "lValueRequested": false,
                                                                        "leftExpression": {
                                                                          "argumentTypes": null,
                                                                          "commonType": {
                                                                            "typeIdentifier": "t_bytes4",
                                                                            "typeString": "bytes4"
                                                                          },
                                                                          "id": 115,
                                                                          "isConstant": false,
                                                                          "isLValue": false,
                                                                          "isPure": false,
                                                                          "lValueRequested": false,
                                                                          "leftExpression": {
                                                                            "argumentTypes": null,
                                                                            "commonType": {
                                                                              "typeIdentifier": "t_bytes4",
                                                                              "typeString": "bytes4"
                                                                            },
                                                                            "id": 111,
                                                                            "isConstant": false,
                                                                            "isLValue": false,
                                                                            "isPure": false,
                                                                            "lValueRequested": false,
                                                                            "leftExpression": {
                                                                              "argumentTypes": null,
                                                                              "commonType": {
                                                                                "typeIdentifier": "t_bytes4",
                                                                                "typeString": "bytes4"
                                                                              },
                                                                              "id": 107,
                                                                              "isConstant": false,
                                                                              "isLValue": false,
                                                                              "isPure": false,
                                                                              "lValueRequested": false,
                                                                              "leftExpression": {
                                                                                "argumentTypes": null,
                                                                                "commonType": {
                                                                                  "typeIdentifier": "t_bytes4",
                                                                                  "typeString": "bytes4"
                                                                                },
                                                                                "id": 103,
                                                                                "isConstant": false,
                                                                                "isLValue": false,
                                                                                "isPure": false,
                                                                                "lValueRequested": false,
                                                                                "leftExpression": {
                                                                                  "argumentTypes": null,
                                                                                  "commonType": {
                                                                                    "typeIdentifier": "t_bytes4",
                                                                                    "typeString": "bytes4"
                                                                                  },
                                                                                  "id": 99,
                                                                                  "isConstant": false,
                                                                                  "isLValue": false,
                                                                                  "isPure": false,
                                                                                  "lValueRequested": false,
                                                                                  "leftExpression": {
                                                                                    "argumentTypes": null,
                                                                                    "commonType": {
                                                                                      "typeIdentifier": "t_bytes4",
                                                                                      "typeString": "bytes4"
                                                                                    },
                                                                                    "id": 95,
                                                                                    "isConstant": false,
                                                                                    "isLValue": false,
                                                                                    "isPure": false,
                                                                                    "lValueRequested": false,
                                                                                    "leftExpression": {
                                                                                      "argumentTypes": null,
                                                                                      "commonType": {
                                                                                        "typeIdentifier": "t_bytes4",
                                                                                        "typeString": "bytes4"
                                                                                      },
                                                                                      "id": 91,
                                                                                      "isConstant": false,
                                                                                      "isLValue": false,
                                                                                      "isPure": false,
                                                                                      "lValueRequested": false,
                                                                                      "leftExpression": {
                                                                                        "argumentTypes": null,
                                                                                        "commonType": {
                                                                                          "typeIdentifier": "t_bytes4",
                                                                                          "typeString": "bytes4"
                                                                                        },
                                                                                        "id": 87,
                                                                                        "isConstant": false,
                                                                                        "isLValue": false,
                                                                                        "isPure": false,
                                                                                        "lValueRequested": false,
                                                                                        "leftExpression": {
                                                                                          "argumentTypes": null,
                                                                                          "expression": {
                                                                                            "argumentTypes": null,
                                                                                            "expression": {
                                                                                              "argumentTypes": null,
                                                                                              "id": 81,
                                                                                              "name": "this",
                                                                                              "nodeType": "Identifier",
                                                                                              "overloadedDeclarations": [],
                                                                                              "referencedDeclaration": 7725,
                                                                                              "src": "1625:4:1",
                                                                                              "typeDescriptions": {
                                                                                                "typeIdentifier": "t_contract$_CalculateERC223_$233",
                                                                                                "typeString": "contract CalculateERC223"
                                                                                              }
                                                                                            },
                                                                                            "id": 82,
                                                                                            "isConstant": false,
                                                                                            "isLValue": false,
                                                                                            "isPure": false,
                                                                                            "lValueRequested": false,
                                                                                            "memberName": "owner",
                                                                                            "nodeType": "MemberAccess",
                                                                                            "referencedDeclaration": 6820,
                                                                                            "src": "1625:10:1",
                                                                                            "typeDescriptions": {
                                                                                              "typeIdentifier": "t_function_external_view$__$returns$_t_address_$",
                                                                                              "typeString": "function () view external returns (address)"
                                                                                            }
                                                                                          },
                                                                                          "id": 83,
                                                                                          "isConstant": false,
                                                                                          "isLValue": false,
                                                                                          "isPure": false,
                                                                                          "lValueRequested": false,
                                                                                          "memberName": "selector",
                                                                                          "nodeType": "MemberAccess",
                                                                                          "referencedDeclaration": null,
                                                                                          "src": "1625:19:1",
                                                                                          "typeDescriptions": {
                                                                                            "typeIdentifier": "t_bytes4",
                                                                                            "typeString": "bytes4"
                                                                                          }
                                                                                        },
                                                                                        "nodeType": "BinaryOperation",
                                                                                        "operator": "^",
                                                                                        "rightExpression": {
                                                                                          "argumentTypes": null,
                                                                                          "expression": {
                                                                                            "argumentTypes": null,
                                                                                            "expression": {
                                                                                              "argumentTypes": null,
                                                                                              "id": 84,
                                                                                              "name": "this",
                                                                                              "nodeType": "Identifier",
                                                                                              "overloadedDeclarations": [],
                                                                                              "referencedDeclaration": 7725,
                                                                                              "src": "1647:4:1",
                                                                                              "typeDescriptions": {
                                                                                                "typeIdentifier": "t_contract$_CalculateERC223_$233",
                                                                                                "typeString": "contract CalculateERC223"
                                                                                              }
                                                                                            },
                                                                                            "id": 85,
                                                                                            "isConstant": false,
                                                                                            "isLValue": false,
                                                                                            "isPure": false,
                                                                                            "lValueRequested": false,
                                                                                            "memberName": "renounceOwnership",
                                                                                            "nodeType": "MemberAccess",
                                                                                            "referencedDeclaration": 6866,
                                                                                            "src": "1647:22:1",
                                                                                            "typeDescriptions": {
                                                                                              "typeIdentifier": "t_function_external_nonpayable$__$returns$__$",
                                                                                              "typeString": "function () external"
                                                                                            }
                                                                                          },
                                                                                          "id": 86,
                                                                                          "isConstant": false,
                                                                                          "isLValue": false,
                                                                                          "isPure": false,
                                                                                          "lValueRequested": false,
                                                                                          "memberName": "selector",
                                                                                          "nodeType": "MemberAccess",
                                                                                          "referencedDeclaration": null,
                                                                                          "src": "1647:31:1",
                                                                                          "typeDescriptions": {
                                                                                            "typeIdentifier": "t_bytes4",
                                                                                            "typeString": "bytes4"
                                                                                          }
                                                                                        },
                                                                                        "src": "1625:53:1",
                                                                                        "typeDescriptions": {
                                                                                          "typeIdentifier": "t_bytes4",
                                                                                          "typeString": "bytes4"
                                                                                        }
                                                                                      },
                                                                                      "nodeType": "BinaryOperation",
                                                                                      "operator": "^",
                                                                                      "rightExpression": {
                                                                                        "argumentTypes": null,
                                                                                        "expression": {
                                                                                          "argumentTypes": null,
                                                                                          "expression": {
                                                                                            "argumentTypes": null,
                                                                                            "id": 88,
                                                                                            "name": "this",
                                                                                            "nodeType": "Identifier",
                                                                                            "overloadedDeclarations": [],
                                                                                            "referencedDeclaration": 7725,
                                                                                            "src": "1681:4:1",
                                                                                            "typeDescriptions": {
                                                                                              "typeIdentifier": "t_contract$_CalculateERC223_$233",
                                                                                              "typeString": "contract CalculateERC223"
                                                                                            }
                                                                                          },
                                                                                          "id": 89,
                                                                                          "isConstant": false,
                                                                                          "isLValue": false,
                                                                                          "isPure": false,
                                                                                          "lValueRequested": false,
                                                                                          "memberName": "transferOwnership",
                                                                                          "nodeType": "MemberAccess",
                                                                                          "referencedDeclaration": 6878,
                                                                                          "src": "1681:22:1",
                                                                                          "typeDescriptions": {
                                                                                            "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$",
                                                                                            "typeString": "function (address) external"
                                                                                          }
                                                                                        },
                                                                                        "id": 90,
                                                                                        "isConstant": false,
                                                                                        "isLValue": false,
                                                                                        "isPure": false,
                                                                                        "lValueRequested": false,
                                                                                        "memberName": "selector",
                                                                                        "nodeType": "MemberAccess",
                                                                                        "referencedDeclaration": null,
                                                                                        "src": "1681:31:1",
                                                                                        "typeDescriptions": {
                                                                                          "typeIdentifier": "t_bytes4",
                                                                                          "typeString": "bytes4"
                                                                                        }
                                                                                      },
                                                                                      "src": "1625:87:1",
                                                                                      "typeDescriptions": {
                                                                                        "typeIdentifier": "t_bytes4",
                                                                                        "typeString": "bytes4"
                                                                                      }
                                                                                    },
                                                                                    "nodeType": "BinaryOperation",
                                                                                    "operator": "^",
                                                                                    "rightExpression": {
                                                                                      "argumentTypes": null,
                                                                                      "expression": {
                                                                                        "argumentTypes": null,
                                                                                        "expression": {
                                                                                          "argumentTypes": null,
                                                                                          "id": 92,
                                                                                          "name": "this",
                                                                                          "nodeType": "Identifier",
                                                                                          "overloadedDeclarations": [],
                                                                                          "referencedDeclaration": 7725,
                                                                                          "src": "1723:4:1",
                                                                                          "typeDescriptions": {
                                                                                            "typeIdentifier": "t_contract$_CalculateERC223_$233",
                                                                                            "typeString": "contract CalculateERC223"
                                                                                          }
                                                                                        },
                                                                                        "id": 93,
                                                                                        "isConstant": false,
                                                                                        "isLValue": false,
                                                                                        "isPure": false,
                                                                                        "lValueRequested": false,
                                                                                        "memberName": "template",
                                                                                        "nodeType": "MemberAccess",
                                                                                        "referencedDeclaration": 3182,
                                                                                        "src": "1723:13:1",
                                                                                        "typeDescriptions": {
                                                                                          "typeIdentifier": "t_function_external_view$__$returns$_t_contract$_Template_$3416_$",
                                                                                          "typeString": "function () view external returns (contract Template)"
                                                                                        }
                                                                                      },
                                                                                      "id": 94,
                                                                                      "isConstant": false,
                                                                                      "isLValue": false,
                                                                                      "isPure": false,
                                                                                      "lValueRequested": false,
                                                                                      "memberName": "selector",
                                                                                      "nodeType": "MemberAccess",
                                                                                      "referencedDeclaration": null,
                                                                                      "src": "1723:22:1",
                                                                                      "typeDescriptions": {
                                                                                        "typeIdentifier": "t_bytes4",
                                                                                        "typeString": "bytes4"
                                                                                      }
                                                                                    },
                                                                                    "src": "1625:120:1",
                                                                                    "typeDescriptions": {
                                                                                      "typeIdentifier": "t_bytes4",
                                                                                      "typeString": "bytes4"
                                                                                    }
                                                                                  },
                                                                                  "nodeType": "BinaryOperation",
                                                                                  "operator": "^",
                                                                                  "rightExpression": {
                                                                                    "argumentTypes": null,
                                                                                    "expression": {
                                                                                      "argumentTypes": null,
                                                                                      "expression": {
                                                                                        "argumentTypes": null,
                                                                                        "id": 96,
                                                                                        "name": "this",
                                                                                        "nodeType": "Identifier",
                                                                                        "overloadedDeclarations": [],
                                                                                        "referencedDeclaration": 7725,
                                                                                        "src": "1748:4:1",
                                                                                        "typeDescriptions": {
                                                                                          "typeIdentifier": "t_contract$_CalculateERC223_$233",
                                                                                          "typeString": "contract CalculateERC223"
                                                                                        }
                                                                                      },
                                                                                      "id": 97,
                                                                                      "isConstant": false,
                                                                                      "isLValue": false,
                                                                                      "isPure": false,
                                                                                      "lValueRequested": false,
                                                                                      "memberName": "activate",
                                                                                      "nodeType": "MemberAccess",
                                                                                      "referencedDeclaration": 870,
                                                                                      "src": "1748:13:1",
                                                                                      "typeDescriptions": {
                                                                                        "typeIdentifier": "t_function_external_nonpayable$__$returns$_t_bool_$",
                                                                                        "typeString": "function () external returns (bool)"
                                                                                      }
                                                                                    },
                                                                                    "id": 98,
                                                                                    "isConstant": false,
                                                                                    "isLValue": false,
                                                                                    "isPure": false,
                                                                                    "lValueRequested": false,
                                                                                    "memberName": "selector",
                                                                                    "nodeType": "MemberAccess",
                                                                                    "referencedDeclaration": null,
                                                                                    "src": "1748:22:1",
                                                                                    "typeDescriptions": {
                                                                                      "typeIdentifier": "t_bytes4",
                                                                                      "typeString": "bytes4"
                                                                                    }
                                                                                  },
                                                                                  "src": "1625:145:1",
                                                                                  "typeDescriptions": {
                                                                                    "typeIdentifier": "t_bytes4",
                                                                                    "typeString": "bytes4"
                                                                                  }
                                                                                },
                                                                                "nodeType": "BinaryOperation",
                                                                                "operator": "^",
                                                                                "rightExpression": {
                                                                                  "argumentTypes": null,
                                                                                  "expression": {
                                                                                    "argumentTypes": null,
                                                                                    "expression": {
                                                                                      "argumentTypes": null,
                                                                                      "id": 100,
                                                                                      "name": "this",
                                                                                      "nodeType": "Identifier",
                                                                                      "overloadedDeclarations": [],
                                                                                      "referencedDeclaration": 7725,
                                                                                      "src": "1773:4:1",
                                                                                      "typeDescriptions": {
                                                                                        "typeIdentifier": "t_contract$_CalculateERC223_$233",
                                                                                        "typeString": "contract CalculateERC223"
                                                                                      }
                                                                                    },
                                                                                    "id": 101,
                                                                                    "isConstant": false,
                                                                                    "isLValue": false,
                                                                                    "isPure": false,
                                                                                    "lValueRequested": false,
                                                                                    "memberName": "name",
                                                                                    "nodeType": "MemberAccess",
                                                                                    "referencedDeclaration": 3480,
                                                                                    "src": "1773:9:1",
                                                                                    "typeDescriptions": {
                                                                                      "typeIdentifier": "t_function_external_view$__$returns$_t_string_memory_$",
                                                                                      "typeString": "function () view external returns (string memory)"
                                                                                    }
                                                                                  },
                                                                                  "id": 102,
                                                                                  "isConstant": false,
                                                                                  "isLValue": false,
                                                                                  "isPure": false,
                                                                                  "lValueRequested": false,
                                                                                  "memberName": "selector",
                                                                                  "nodeType": "MemberAccess",
                                                                                  "referencedDeclaration": null,
                                                                                  "src": "1773:18:1",
                                                                                  "typeDescriptions": {
                                                                                    "typeIdentifier": "t_bytes4",
                                                                                    "typeString": "bytes4"
                                                                                  }
                                                                                },
                                                                                "src": "1625:166:1",
                                                                                "typeDescriptions": {
                                                                                  "typeIdentifier": "t_bytes4",
                                                                                  "typeString": "bytes4"
                                                                                }
                                                                              },
                                                                              "nodeType": "BinaryOperation",
                                                                              "operator": "^",
                                                                              "rightExpression": {
                                                                                "argumentTypes": null,
                                                                                "expression": {
                                                                                  "argumentTypes": null,
                                                                                  "expression": {
                                                                                    "argumentTypes": null,
                                                                                    "id": 104,
                                                                                    "name": "this",
                                                                                    "nodeType": "Identifier",
                                                                                    "overloadedDeclarations": [],
                                                                                    "referencedDeclaration": 7725,
                                                                                    "src": "1794:4:1",
                                                                                    "typeDescriptions": {
                                                                                      "typeIdentifier": "t_contract$_CalculateERC223_$233",
                                                                                      "typeString": "contract CalculateERC223"
                                                                                    }
                                                                                  },
                                                                                  "id": 105,
                                                                                  "isConstant": false,
                                                                                  "isLValue": false,
                                                                                  "isPure": false,
                                                                                  "lValueRequested": false,
                                                                                  "memberName": "symbol",
                                                                                  "nodeType": "MemberAccess",
                                                                                  "referencedDeclaration": 3482,
                                                                                  "src": "1794:11:1",
                                                                                  "typeDescriptions": {
                                                                                    "typeIdentifier": "t_function_external_view$__$returns$_t_string_memory_$",
                                                                                    "typeString": "function () view external returns (string memory)"
                                                                                  }
                                                                                },
                                                                                "id": 106,
                                                                                "isConstant": false,
                                                                                "isLValue": false,
                                                                                "isPure": false,
                                                                                "lValueRequested": false,
                                                                                "memberName": "selector",
                                                                                "nodeType": "MemberAccess",
                                                                                "referencedDeclaration": null,
                                                                                "src": "1794:20:1",
                                                                                "typeDescriptions": {
                                                                                  "typeIdentifier": "t_bytes4",
                                                                                  "typeString": "bytes4"
                                                                                }
                                                                              },
                                                                              "src": "1625:189:1",
                                                                              "typeDescriptions": {
                                                                                "typeIdentifier": "t_bytes4",
                                                                                "typeString": "bytes4"
                                                                              }
                                                                            },
                                                                            "nodeType": "BinaryOperation",
                                                                            "operator": "^",
                                                                            "rightExpression": {
                                                                              "argumentTypes": null,
                                                                              "expression": {
                                                                                "argumentTypes": null,
                                                                                "expression": {
                                                                                  "argumentTypes": null,
                                                                                  "id": 108,
                                                                                  "name": "this",
                                                                                  "nodeType": "Identifier",
                                                                                  "overloadedDeclarations": [],
                                                                                  "referencedDeclaration": 7725,
                                                                                  "src": "1825:4:1",
                                                                                  "typeDescriptions": {
                                                                                    "typeIdentifier": "t_contract$_CalculateERC223_$233",
                                                                                    "typeString": "contract CalculateERC223"
                                                                                  }
                                                                                },
                                                                                "id": 109,
                                                                                "isConstant": false,
                                                                                "isLValue": false,
                                                                                "isPure": false,
                                                                                "lValueRequested": false,
                                                                                "memberName": "totalSupply",
                                                                                "nodeType": "MemberAccess",
                                                                                "referencedDeclaration": 6925,
                                                                                "src": "1825:16:1",
                                                                                "typeDescriptions": {
                                                                                  "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$",
                                                                                  "typeString": "function () view external returns (uint256)"
                                                                                }
                                                                              },
                                                                              "id": 110,
                                                                              "isConstant": false,
                                                                              "isLValue": false,
                                                                              "isPure": false,
                                                                              "lValueRequested": false,
                                                                              "memberName": "selector",
                                                                              "nodeType": "MemberAccess",
                                                                              "referencedDeclaration": null,
                                                                              "src": "1825:25:1",
                                                                              "typeDescriptions": {
                                                                                "typeIdentifier": "t_bytes4",
                                                                                "typeString": "bytes4"
                                                                              }
                                                                            },
                                                                            "src": "1625:225:1",
                                                                            "typeDescriptions": {
                                                                              "typeIdentifier": "t_bytes4",
                                                                              "typeString": "bytes4"
                                                                            }
                                                                          },
                                                                          "nodeType": "BinaryOperation",
                                                                          "operator": "^",
                                                                          "rightExpression": {
                                                                            "argumentTypes": null,
                                                                            "expression": {
                                                                              "argumentTypes": null,
                                                                              "expression": {
                                                                                "argumentTypes": null,
                                                                                "id": 112,
                                                                                "name": "this",
                                                                                "nodeType": "Identifier",
                                                                                "overloadedDeclarations": [],
                                                                                "referencedDeclaration": 7725,
                                                                                "src": "1853:4:1",
                                                                                "typeDescriptions": {
                                                                                  "typeIdentifier": "t_contract$_CalculateERC223_$233",
                                                                                  "typeString": "contract CalculateERC223"
                                                                                }
                                                                              },
                                                                              "id": 113,
                                                                              "isConstant": false,
                                                                              "isLValue": false,
                                                                              "isPure": false,
                                                                              "lValueRequested": false,
                                                                              "memberName": "balanceOf",
                                                                              "nodeType": "MemberAccess",
                                                                              "referencedDeclaration": 6997,
                                                                              "src": "1853:14:1",
                                                                              "typeDescriptions": {
                                                                                "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$",
                                                                                "typeString": "function (address) view external returns (uint256)"
                                                                              }
                                                                            },
                                                                            "id": 114,
                                                                            "isConstant": false,
                                                                            "isLValue": false,
                                                                            "isPure": false,
                                                                            "lValueRequested": false,
                                                                            "memberName": "selector",
                                                                            "nodeType": "MemberAccess",
                                                                            "referencedDeclaration": null,
                                                                            "src": "1853:23:1",
                                                                            "typeDescriptions": {
                                                                              "typeIdentifier": "t_bytes4",
                                                                              "typeString": "bytes4"
                                                                            }
                                                                          },
                                                                          "src": "1625:251:1",
                                                                          "typeDescriptions": {
                                                                            "typeIdentifier": "t_bytes4",
                                                                            "typeString": "bytes4"
                                                                          }
                                                                        },
                                                                        "nodeType": "BinaryOperation",
                                                                        "operator": "^",
                                                                        "rightExpression": {
                                                                          "argumentTypes": null,
                                                                          "arguments": [
                                                                            {
                                                                              "argumentTypes": null,
                                                                              "arguments": [
                                                                                {
                                                                                  "argumentTypes": null,
                                                                                  "hexValue": "7472616e7366657228616464726573732c75696e7432353629",
                                                                                  "id": 118,
                                                                                  "isConstant": false,
                                                                                  "isLValue": false,
                                                                                  "isPure": true,
                                                                                  "kind": "string",
                                                                                  "lValueRequested": false,
                                                                                  "nodeType": "Literal",
                                                                                  "src": "1896:27:1",
                                                                                  "subdenomination": null,
                                                                                  "typeDescriptions": {
                                                                                    "typeIdentifier": "t_stringliteral_a9059cbb2ab09eb219583f4a59a5d0623ade346d962bcd4e46b11da047c9049b",
                                                                                    "typeString": "literal_string \"transfer(address,uint256)\""
                                                                                  },
                                                                                  "value": "transfer(address,uint256)"
                                                                                }
                                                                              ],
                                                                              "expression": {
                                                                                "argumentTypes": [
                                                                                  {
                                                                                    "typeIdentifier": "t_stringliteral_a9059cbb2ab09eb219583f4a59a5d0623ade346d962bcd4e46b11da047c9049b",
                                                                                    "typeString": "literal_string \"transfer(address,uint256)\""
                                                                                  }
                                                                                ],
                                                                                "id": 117,
                                                                                "name": "keccak256",
                                                                                "nodeType": "Identifier",
                                                                                "overloadedDeclarations": [],
                                                                                "referencedDeclaration": 7656,
                                                                                "src": "1886:9:1",
                                                                                "typeDescriptions": {
                                                                                  "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
                                                                                  "typeString": "function () pure returns (bytes32)"
                                                                                }
                                                                              },
                                                                              "id": 119,
                                                                              "isConstant": false,
                                                                              "isLValue": false,
                                                                              "isPure": true,
                                                                              "kind": "functionCall",
                                                                              "lValueRequested": false,
                                                                              "names": [],
                                                                              "nodeType": "FunctionCall",
                                                                              "src": "1886:38:1",
                                                                              "typeDescriptions": {
                                                                                "typeIdentifier": "t_bytes32",
                                                                                "typeString": "bytes32"
                                                                              }
                                                                            }
                                                                          ],
                                                                          "expression": {
                                                                            "argumentTypes": [
                                                                              {
                                                                                "typeIdentifier": "t_bytes32",
                                                                                "typeString": "bytes32"
                                                                              }
                                                                            ],
                                                                            "id": 116,
                                                                            "isConstant": false,
                                                                            "isLValue": false,
                                                                            "isPure": true,
                                                                            "lValueRequested": false,
                                                                            "nodeType": "ElementaryTypeNameExpression",
                                                                            "src": "1879:6:1",
                                                                            "typeDescriptions": {
                                                                              "typeIdentifier": "t_type$_t_bytes4_$",
                                                                              "typeString": "type(bytes4)"
                                                                            },
                                                                            "typeName": "bytes4"
                                                                          },
                                                                          "id": 120,
                                                                          "isConstant": false,
                                                                          "isLValue": false,
                                                                          "isPure": true,
                                                                          "kind": "typeConversion",
                                                                          "lValueRequested": false,
                                                                          "names": [],
                                                                          "nodeType": "FunctionCall",
                                                                          "src": "1879:46:1",
                                                                          "typeDescriptions": {
                                                                            "typeIdentifier": "t_bytes4",
                                                                            "typeString": "bytes4"
                                                                          }
                                                                        },
                                                                        "src": "1625:300:1",
                                                                        "typeDescriptions": {
                                                                          "typeIdentifier": "t_bytes4",
                                                                          "typeString": "bytes4"
                                                                        }
                                                                      },
                                                                      "nodeType": "BinaryOperation",
                                                                      "operator": "^",
                                                                      "rightExpression": {
                                                                        "argumentTypes": null,
                                                                        "expression": {
                                                                          "argumentTypes": null,
                                                                          "expression": {
                                                                            "argumentTypes": null,
                                                                            "id": 122,
                                                                            "name": "this",
                                                                            "nodeType": "Identifier",
                                                                            "overloadedDeclarations": [],
                                                                            "referencedDeclaration": 7725,
                                                                            "src": "1936:4:1",
                                                                            "typeDescriptions": {
                                                                              "typeIdentifier": "t_contract$_CalculateERC223_$233",
                                                                              "typeString": "contract CalculateERC223"
                                                                            }
                                                                          },
                                                                          "id": 123,
                                                                          "isConstant": false,
                                                                          "isLValue": false,
                                                                          "isPure": false,
                                                                          "lValueRequested": false,
                                                                          "memberName": "allowance",
                                                                          "nodeType": "MemberAccess",
                                                                          "referencedDeclaration": 7544,
                                                                          "src": "1936:14:1",
                                                                          "typeDescriptions": {
                                                                            "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$",
                                                                            "typeString": "function (address,address) view external returns (uint256)"
                                                                          }
                                                                        },
                                                                        "id": 124,
                                                                        "isConstant": false,
                                                                        "isLValue": false,
                                                                        "isPure": false,
                                                                        "lValueRequested": false,
                                                                        "memberName": "selector",
                                                                        "nodeType": "MemberAccess",
                                                                        "referencedDeclaration": null,
                                                                        "src": "1936:23:1",
                                                                        "typeDescriptions": {
                                                                          "typeIdentifier": "t_bytes4",
                                                                          "typeString": "bytes4"
                                                                        }
                                                                      },
                                                                      "src": "1625:334:1",
                                                                      "typeDescriptions": {
                                                                        "typeIdentifier": "t_bytes4",
                                                                        "typeString": "bytes4"
                                                                      }
                                                                    },
                                                                    "nodeType": "BinaryOperation",
                                                                    "operator": "^",
                                                                    "rightExpression": {
                                                                      "argumentTypes": null,
                                                                      "expression": {
                                                                        "argumentTypes": null,
                                                                        "expression": {
                                                                          "argumentTypes": null,
                                                                          "id": 126,
                                                                          "name": "this",
                                                                          "nodeType": "Identifier",
                                                                          "overloadedDeclarations": [],
                                                                          "referencedDeclaration": 7725,
                                                                          "src": "1962:4:1",
                                                                          "typeDescriptions": {
                                                                            "typeIdentifier": "t_contract$_CalculateERC223_$233",
                                                                            "typeString": "contract CalculateERC223"
                                                                          }
                                                                        },
                                                                        "id": 127,
                                                                        "isConstant": false,
                                                                        "isLValue": false,
                                                                        "isPure": false,
                                                                        "lValueRequested": false,
                                                                        "memberName": "transferFrom",
                                                                        "nodeType": "MemberAccess",
                                                                        "referencedDeclaration": 954,
                                                                        "src": "1962:17:1",
                                                                        "typeDescriptions": {
                                                                          "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$",
                                                                          "typeString": "function (address,address,uint256) external returns (bool)"
                                                                        }
                                                                      },
                                                                      "id": 128,
                                                                      "isConstant": false,
                                                                      "isLValue": false,
                                                                      "isPure": false,
                                                                      "lValueRequested": false,
                                                                      "memberName": "selector",
                                                                      "nodeType": "MemberAccess",
                                                                      "referencedDeclaration": null,
                                                                      "src": "1962:26:1",
                                                                      "typeDescriptions": {
                                                                        "typeIdentifier": "t_bytes4",
                                                                        "typeString": "bytes4"
                                                                      }
                                                                    },
                                                                    "src": "1625:363:1",
                                                                    "typeDescriptions": {
                                                                      "typeIdentifier": "t_bytes4",
                                                                      "typeString": "bytes4"
                                                                    }
                                                                  },
                                                                  "nodeType": "BinaryOperation",
                                                                  "operator": "^",
                                                                  "rightExpression": {
                                                                    "argumentTypes": null,
                                                                    "expression": {
                                                                      "argumentTypes": null,
                                                                      "expression": {
                                                                        "argumentTypes": null,
                                                                        "id": 130,
                                                                        "name": "this",
                                                                        "nodeType": "Identifier",
                                                                        "overloadedDeclarations": [],
                                                                        "referencedDeclaration": 7725,
                                                                        "src": "1991:4:1",
                                                                        "typeDescriptions": {
                                                                          "typeIdentifier": "t_contract$_CalculateERC223_$233",
                                                                          "typeString": "contract CalculateERC223"
                                                                        }
                                                                      },
                                                                      "id": 131,
                                                                      "isConstant": false,
                                                                      "isLValue": false,
                                                                      "isPure": false,
                                                                      "lValueRequested": false,
                                                                      "memberName": "approve",
                                                                      "nodeType": "MemberAccess",
                                                                      "referencedDeclaration": 972,
                                                                      "src": "1991:12:1",
                                                                      "typeDescriptions": {
                                                                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$",
                                                                        "typeString": "function (address,uint256) external returns (bool)"
                                                                      }
                                                                    },
                                                                    "id": 132,
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "memberName": "selector",
                                                                    "nodeType": "MemberAccess",
                                                                    "referencedDeclaration": null,
                                                                    "src": "1991:21:1",
                                                                    "typeDescriptions": {
                                                                      "typeIdentifier": "t_bytes4",
                                                                      "typeString": "bytes4"
                                                                    }
                                                                  },
                                                                  "src": "1625:387:1",
                                                                  "typeDescriptions": {
                                                                    "typeIdentifier": "t_bytes4",
                                                                    "typeString": "bytes4"
                                                                  }
                                                                },
                                                                "nodeType": "BinaryOperation",
                                                                "operator": "^",
                                                                "rightExpression": {
                                                                  "argumentTypes": null,
                                                                  "expression": {
                                                                    "argumentTypes": null,
                                                                    "expression": {
                                                                      "argumentTypes": null,
                                                                      "id": 134,
                                                                      "name": "this",
                                                                      "nodeType": "Identifier",
                                                                      "overloadedDeclarations": [],
                                                                      "referencedDeclaration": 7725,
                                                                      "src": "2023:4:1",
                                                                      "typeDescriptions": {
                                                                        "typeIdentifier": "t_contract$_CalculateERC223_$233",
                                                                        "typeString": "contract CalculateERC223"
                                                                      }
                                                                    },
                                                                    "id": 135,
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "memberName": "increaseApproval",
                                                                    "nodeType": "MemberAccess",
                                                                    "referencedDeclaration": 7333,
                                                                    "src": "2023:21:1",
                                                                    "typeDescriptions": {
                                                                      "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$",
                                                                      "typeString": "function (address,uint256) external returns (bool)"
                                                                    }
                                                                  },
                                                                  "id": 136,
                                                                  "isConstant": false,
                                                                  "isLValue": false,
                                                                  "isPure": false,
                                                                  "lValueRequested": false,
                                                                  "memberName": "selector",
                                                                  "nodeType": "MemberAccess",
                                                                  "referencedDeclaration": null,
                                                                  "src": "2023:30:1",
                                                                  "typeDescriptions": {
                                                                    "typeIdentifier": "t_bytes4",
                                                                    "typeString": "bytes4"
                                                                  }
                                                                },
                                                                "src": "1625:428:1",
                                                                "typeDescriptions": {
                                                                  "typeIdentifier": "t_bytes4",
                                                                  "typeString": "bytes4"
                                                                }
                                                              },
                                                              "nodeType": "BinaryOperation",
                                                              "operator": "^",
                                                              "rightExpression": {
                                                                "argumentTypes": null,
                                                                "expression": {
                                                                  "argumentTypes": null,
                                                                  "expression": {
                                                                    "argumentTypes": null,
                                                                    "id": 138,
                                                                    "name": "this",
                                                                    "nodeType": "Identifier",
                                                                    "overloadedDeclarations": [],
                                                                    "referencedDeclaration": 7725,
                                                                    "src": "2056:4:1",
                                                                    "typeDescriptions": {
                                                                      "typeIdentifier": "t_contract$_CalculateERC223_$233",
                                                                      "typeString": "contract CalculateERC223"
                                                                    }
                                                                  },
                                                                  "id": 139,
                                                                  "isConstant": false,
                                                                  "isLValue": false,
                                                                  "isPure": false,
                                                                  "lValueRequested": false,
                                                                  "memberName": "decreaseApproval",
                                                                  "nodeType": "MemberAccess",
                                                                  "referencedDeclaration": 7351,
                                                                  "src": "2056:21:1",
                                                                  "typeDescriptions": {
                                                                    "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$",
                                                                    "typeString": "function (address,uint256) external returns (bool)"
                                                                  }
                                                                },
                                                                "id": 140,
                                                                "isConstant": false,
                                                                "isLValue": false,
                                                                "isPure": false,
                                                                "lValueRequested": false,
                                                                "memberName": "selector",
                                                                "nodeType": "MemberAccess",
                                                                "referencedDeclaration": null,
                                                                "src": "2056:30:1",
                                                                "typeDescriptions": {
                                                                  "typeIdentifier": "t_bytes4",
                                                                  "typeString": "bytes4"
                                                                }
                                                              },
                                                              "src": "1625:461:1",
                                                              "typeDescriptions": {
                                                                "typeIdentifier": "t_bytes4",
                                                                "typeString": "bytes4"
                                                              }
                                                            },
                                                            "nodeType": "BinaryOperation",
                                                            "operator": "^",
                                                            "rightExpression": {
                                                              "argumentTypes": null,
                                                              "expression": {
                                                                "argumentTypes": null,
                                                                "expression": {
                                                                  "argumentTypes": null,
                                                                  "id": 142,
                                                                  "name": "this",
                                                                  "nodeType": "Identifier",
                                                                  "overloadedDeclarations": [],
                                                                  "referencedDeclaration": 7725,
                                                                  "src": "2097:4:1",
                                                                  "typeDescriptions": {
                                                                    "typeIdentifier": "t_contract$_CalculateERC223_$233",
                                                                    "typeString": "contract CalculateERC223"
                                                                  }
                                                                },
                                                                "id": 143,
                                                                "isConstant": false,
                                                                "isLValue": false,
                                                                "isPure": false,
                                                                "lValueRequested": false,
                                                                "memberName": "mintingFinished",
                                                                "nodeType": "MemberAccess",
                                                                "referencedDeclaration": 7163,
                                                                "src": "2097:20:1",
                                                                "typeDescriptions": {
                                                                  "typeIdentifier": "t_function_external_view$__$returns$_t_bool_$",
                                                                  "typeString": "function () view external returns (bool)"
                                                                }
                                                              },
                                                              "id": 144,
                                                              "isConstant": false,
                                                              "isLValue": false,
                                                              "isPure": false,
                                                              "lValueRequested": false,
                                                              "memberName": "selector",
                                                              "nodeType": "MemberAccess",
                                                              "referencedDeclaration": null,
                                                              "src": "2097:29:1",
                                                              "typeDescriptions": {
                                                                "typeIdentifier": "t_bytes4",
                                                                "typeString": "bytes4"
                                                              }
                                                            },
                                                            "src": "1625:501:1",
                                                            "typeDescriptions": {
                                                              "typeIdentifier": "t_bytes4",
                                                              "typeString": "bytes4"
                                                            }
                                                          },
                                                          "nodeType": "BinaryOperation",
                                                          "operator": "^",
                                                          "rightExpression": {
                                                            "argumentTypes": null,
                                                            "expression": {
                                                              "argumentTypes": null,
                                                              "expression": {
                                                                "argumentTypes": null,
                                                                "id": 146,
                                                                "name": "this",
                                                                "nodeType": "Identifier",
                                                                "overloadedDeclarations": [],
                                                                "referencedDeclaration": 7725,
                                                                "src": "2129:4:1",
                                                                "typeDescriptions": {
                                                                  "typeIdentifier": "t_contract$_CalculateERC223_$233",
                                                                  "typeString": "contract CalculateERC223"
                                                                }
                                                              },
                                                              "id": 147,
                                                              "isConstant": false,
                                                              "isLValue": false,
                                                              "isPure": false,
                                                              "lValueRequested": false,
                                                              "memberName": "finishMinting",
                                                              "nodeType": "MemberAccess",
                                                              "referencedDeclaration": 7249,
                                                              "src": "2129:18:1",
                                                              "typeDescriptions": {
                                                                "typeIdentifier": "t_function_external_nonpayable$__$returns$_t_bool_$",
                                                                "typeString": "function () external returns (bool)"
                                                              }
                                                            },
                                                            "id": 148,
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "memberName": "selector",
                                                            "nodeType": "MemberAccess",
                                                            "referencedDeclaration": null,
                                                            "src": "2129:27:1",
                                                            "typeDescriptions": {
                                                              "typeIdentifier": "t_bytes4",
                                                              "typeString": "bytes4"
                                                            }
                                                          },
                                                          "src": "1625:531:1",
                                                          "typeDescriptions": {
                                                            "typeIdentifier": "t_bytes4",
                                                            "typeString": "bytes4"
                                                          }
                                                        },
                                                        "nodeType": "BinaryOperation",
                                                        "operator": "^",
                                                        "rightExpression": {
                                                          "argumentTypes": null,
                                                          "expression": {
                                                            "argumentTypes": null,
                                                            "expression": {
                                                              "argumentTypes": null,
                                                              "id": 150,
                                                              "name": "this",
                                                              "nodeType": "Identifier",
                                                              "overloadedDeclarations": [],
                                                              "referencedDeclaration": 7725,
                                                              "src": "2159:4:1",
                                                              "typeDescriptions": {
                                                                "typeIdentifier": "t_contract$_CalculateERC223_$233",
                                                                "typeString": "contract CalculateERC223"
                                                              }
                                                            },
                                                            "id": 151,
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "memberName": "checkRole",
                                                            "nodeType": "MemberAccess",
                                                            "referencedDeclaration": 6461,
                                                            "src": "2159:14:1",
                                                            "typeDescriptions": {
                                                              "typeIdentifier": "t_function_external_view$_t_address_$_t_string_memory_ptr_$returns$__$",
                                                              "typeString": "function (address,string memory) view external"
                                                            }
                                                          },
                                                          "id": 152,
                                                          "isConstant": false,
                                                          "isLValue": false,
                                                          "isPure": false,
                                                          "lValueRequested": false,
                                                          "memberName": "selector",
                                                          "nodeType": "MemberAccess",
                                                          "referencedDeclaration": null,
                                                          "src": "2159:23:1",
                                                          "typeDescriptions": {
                                                            "typeIdentifier": "t_bytes4",
                                                            "typeString": "bytes4"
                                                          }
                                                        },
                                                        "src": "1625:557:1",
                                                        "typeDescriptions": {
                                                          "typeIdentifier": "t_bytes4",
                                                          "typeString": "bytes4"
                                                        }
                                                      },
                                                      "nodeType": "BinaryOperation",
                                                      "operator": "^",
                                                      "rightExpression": {
                                                        "argumentTypes": null,
                                                        "expression": {
                                                          "argumentTypes": null,
                                                          "expression": {
                                                            "argumentTypes": null,
                                                            "id": 154,
                                                            "name": "this",
                                                            "nodeType": "Identifier",
                                                            "overloadedDeclarations": [],
                                                            "referencedDeclaration": 7725,
                                                            "src": "2185:4:1",
                                                            "typeDescriptions": {
                                                              "typeIdentifier": "t_contract$_CalculateERC223_$233",
                                                              "typeString": "contract CalculateERC223"
                                                            }
                                                          },
                                                          "id": 155,
                                                          "isConstant": false,
                                                          "isLValue": false,
                                                          "isPure": false,
                                                          "lValueRequested": false,
                                                          "memberName": "hasRole",
                                                          "nodeType": "MemberAccess",
                                                          "referencedDeclaration": 6478,
                                                          "src": "2185:12:1",
                                                          "typeDescriptions": {
                                                            "typeIdentifier": "t_function_external_view$_t_address_$_t_string_memory_ptr_$returns$_t_bool_$",
                                                            "typeString": "function (address,string memory) view external returns (bool)"
                                                          }
                                                        },
                                                        "id": 156,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": false,
                                                        "lValueRequested": false,
                                                        "memberName": "selector",
                                                        "nodeType": "MemberAccess",
                                                        "referencedDeclaration": null,
                                                        "src": "2185:21:1",
                                                        "typeDescriptions": {
                                                          "typeIdentifier": "t_bytes4",
                                                          "typeString": "bytes4"
                                                        }
                                                      },
                                                      "src": "1625:581:1",
                                                      "typeDescriptions": {
                                                        "typeIdentifier": "t_bytes4",
                                                        "typeString": "bytes4"
                                                      }
                                                    },
                                                    "nodeType": "BinaryOperation",
                                                    "operator": "^",
                                                    "rightExpression": {
                                                      "argumentTypes": null,
                                                      "expression": {
                                                        "argumentTypes": null,
                                                        "expression": {
                                                          "argumentTypes": null,
                                                          "id": 158,
                                                          "name": "this",
                                                          "nodeType": "Identifier",
                                                          "overloadedDeclarations": [],
                                                          "referencedDeclaration": 7725,
                                                          "src": "2217:4:1",
                                                          "typeDescriptions": {
                                                            "typeIdentifier": "t_contract$_CalculateERC223_$233",
                                                            "typeString": "contract CalculateERC223"
                                                          }
                                                        },
                                                        "id": 159,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": false,
                                                        "lValueRequested": false,
                                                        "memberName": "ROLE_MINTER",
                                                        "nodeType": "MemberAccess",
                                                        "referencedDeclaration": 7363,
                                                        "src": "2217:16:1",
                                                        "typeDescriptions": {
                                                          "typeIdentifier": "t_function_external_view$__$returns$_t_string_memory_$",
                                                          "typeString": "function () view external returns (string memory)"
                                                        }
                                                      },
                                                      "id": 160,
                                                      "isConstant": false,
                                                      "isLValue": false,
                                                      "isPure": false,
                                                      "lValueRequested": false,
                                                      "memberName": "selector",
                                                      "nodeType": "MemberAccess",
                                                      "referencedDeclaration": null,
                                                      "src": "2217:25:1",
                                                      "typeDescriptions": {
                                                        "typeIdentifier": "t_bytes4",
                                                        "typeString": "bytes4"
                                                      }
                                                    },
                                                    "src": "1625:617:1",
                                                    "typeDescriptions": {
                                                      "typeIdentifier": "t_bytes4",
                                                      "typeString": "bytes4"
                                                    }
                                                  },
                                                  "nodeType": "BinaryOperation",
                                                  "operator": "^",
                                                  "rightExpression": {
                                                    "argumentTypes": null,
                                                    "expression": {
                                                      "argumentTypes": null,
                                                      "expression": {
                                                        "argumentTypes": null,
                                                        "id": 162,
                                                        "name": "this",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 7725,
                                                        "src": "2245:4:1",
                                                        "typeDescriptions": {
                                                          "typeIdentifier": "t_contract$_CalculateERC223_$233",
                                                          "typeString": "contract CalculateERC223"
                                                        }
                                                      },
                                                      "id": 163,
                                                      "isConstant": false,
                                                      "isLValue": false,
                                                      "isPure": false,
                                                      "lValueRequested": false,
                                                      "memberName": "addMinter",
                                                      "nodeType": "MemberAccess",
                                                      "referencedDeclaration": 7386,
                                                      "src": "2245:14:1",
                                                      "typeDescriptions": {
                                                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$",
                                                        "typeString": "function (address) external"
                                                      }
                                                    },
                                                    "id": 164,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "memberName": "selector",
                                                    "nodeType": "MemberAccess",
                                                    "referencedDeclaration": null,
                                                    "src": "2245:23:1",
                                                    "typeDescriptions": {
                                                      "typeIdentifier": "t_bytes4",
                                                      "typeString": "bytes4"
                                                    }
                                                  },
                                                  "src": "1625:643:1",
                                                  "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes4",
                                                    "typeString": "bytes4"
                                                  }
                                                },
                                                "nodeType": "BinaryOperation",
                                                "operator": "^",
                                                "rightExpression": {
                                                  "argumentTypes": null,
                                                  "expression": {
                                                    "argumentTypes": null,
                                                    "expression": {
                                                      "argumentTypes": null,
                                                      "id": 166,
                                                      "name": "this",
                                                      "nodeType": "Identifier",
                                                      "overloadedDeclarations": [],
                                                      "referencedDeclaration": 7725,
                                                      "src": "2271:4:1",
                                                      "typeDescriptions": {
                                                        "typeIdentifier": "t_contract$_CalculateERC223_$233",
                                                        "typeString": "contract CalculateERC223"
                                                      }
                                                    },
                                                    "id": 167,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "memberName": "removeMinter",
                                                    "nodeType": "MemberAccess",
                                                    "referencedDeclaration": 7399,
                                                    "src": "2271:17:1",
                                                    "typeDescriptions": {
                                                      "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$",
                                                      "typeString": "function (address) external"
                                                    }
                                                  },
                                                  "id": 168,
                                                  "isConstant": false,
                                                  "isLValue": false,
                                                  "isPure": false,
                                                  "lValueRequested": false,
                                                  "memberName": "selector",
                                                  "nodeType": "MemberAccess",
                                                  "referencedDeclaration": null,
                                                  "src": "2271:26:1",
                                                  "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes4",
                                                    "typeString": "bytes4"
                                                  }
                                                },
                                                "src": "1625:672:1",
                                                "typeDescriptions": {
                                                  "typeIdentifier": "t_bytes4",
                                                  "typeString": "bytes4"
                                                }
                                              },
                                              "nodeType": "BinaryOperation",
                                              "operator": "^",
                                              "rightExpression": {
                                                "argumentTypes": null,
                                                "expression": {
                                                  "argumentTypes": null,
                                                  "expression": {
                                                    "argumentTypes": null,
                                                    "id": 170,
                                                    "name": "this",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 7725,
                                                    "src": "2308:4:1",
                                                    "typeDescriptions": {
                                                      "typeIdentifier": "t_contract$_CalculateERC223_$233",
                                                      "typeString": "contract CalculateERC223"
                                                    }
                                                  },
                                                  "id": 171,
                                                  "isConstant": false,
                                                  "isLValue": false,
                                                  "isPure": false,
                                                  "lValueRequested": false,
                                                  "memberName": "burn",
                                                  "nodeType": "MemberAccess",
                                                  "referencedDeclaration": 1022,
                                                  "src": "2308:9:1",
                                                  "typeDescriptions": {
                                                    "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$",
                                                    "typeString": "function (uint256) external"
                                                  }
                                                },
                                                "id": 172,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "memberName": "selector",
                                                "nodeType": "MemberAccess",
                                                "referencedDeclaration": null,
                                                "src": "2308:18:1",
                                                "typeDescriptions": {
                                                  "typeIdentifier": "t_bytes4",
                                                  "typeString": "bytes4"
                                                }
                                              },
                                              "src": "1625:701:1",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_bytes4",
                                                "typeString": "bytes4"
                                              }
                                            },
                                            "nodeType": "BinaryOperation",
                                            "operator": "^",
                                            "rightExpression": {
                                              "argumentTypes": null,
                                              "expression": {
                                                "argumentTypes": null,
                                                "expression": {
                                                  "argumentTypes": null,
                                                  "id": 174,
                                                  "name": "this",
                                                  "nodeType": "Identifier",
                                                  "overloadedDeclarations": [],
                                                  "referencedDeclaration": 7725,
                                                  "src": "2329:4:1",
                                                  "typeDescriptions": {
                                                    "typeIdentifier": "t_contract$_CalculateERC223_$233",
                                                    "typeString": "contract CalculateERC223"
                                                  }
                                                },
                                                "id": 175,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "memberName": "paused",
                                                "nodeType": "MemberAccess",
                                                "referencedDeclaration": 6674,
                                                "src": "2329:11:1",
                                                "typeDescriptions": {
                                                  "typeIdentifier": "t_function_external_view$__$returns$_t_bool_$",
                                                  "typeString": "function () view external returns (bool)"
                                                }
                                              },
                                              "id": 176,
                                              "isConstant": false,
                                              "isLValue": false,
                                              "isPure": false,
                                              "lValueRequested": false,
                                              "memberName": "selector",
                                              "nodeType": "MemberAccess",
                                              "referencedDeclaration": null,
                                              "src": "2329:20:1",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_bytes4",
                                                "typeString": "bytes4"
                                              }
                                            },
                                            "src": "1625:724:1",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_bytes4",
                                              "typeString": "bytes4"
                                            }
                                          },
                                          "nodeType": "BinaryOperation",
                                          "operator": "^",
                                          "rightExpression": {
                                            "argumentTypes": null,
                                            "expression": {
                                              "argumentTypes": null,
                                              "expression": {
                                                "argumentTypes": null,
                                                "id": 178,
                                                "name": "this",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 7725,
                                                "src": "2352:4:1",
                                                "typeDescriptions": {
                                                  "typeIdentifier": "t_contract$_CalculateERC223_$233",
                                                  "typeString": "contract CalculateERC223"
                                                }
                                              },
                                              "id": 179,
                                              "isConstant": false,
                                              "isLValue": false,
                                              "isPure": false,
                                              "lValueRequested": false,
                                              "memberName": "pause",
                                              "nodeType": "MemberAccess",
                                              "referencedDeclaration": 1035,
                                              "src": "2352:10:1",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_function_external_nonpayable$__$returns$__$",
                                                "typeString": "function () external"
                                              }
                                            },
                                            "id": 180,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "memberName": "selector",
                                            "nodeType": "MemberAccess",
                                            "referencedDeclaration": null,
                                            "src": "2352:19:1",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_bytes4",
                                              "typeString": "bytes4"
                                            }
                                          },
                                          "src": "1625:746:1",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_bytes4",
                                            "typeString": "bytes4"
                                          }
                                        },
                                        "nodeType": "BinaryOperation",
                                        "operator": "^",
                                        "rightExpression": {
                                          "argumentTypes": null,
                                          "expression": {
                                            "argumentTypes": null,
                                            "expression": {
                                              "argumentTypes": null,
                                              "id": 182,
                                              "name": "this",
                                              "nodeType": "Identifier",
                                              "overloadedDeclarations": [],
                                              "referencedDeclaration": 7725,
                                              "src": "2374:4:1",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_contract$_CalculateERC223_$233",
                                                "typeString": "contract CalculateERC223"
                                              }
                                            },
                                            "id": 183,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "memberName": "unpause",
                                            "nodeType": "MemberAccess",
                                            "referencedDeclaration": 6721,
                                            "src": "2374:12:1",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_function_external_nonpayable$__$returns$__$",
                                              "typeString": "function () external"
                                            }
                                          },
                                          "id": 184,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "memberName": "selector",
                                          "nodeType": "MemberAccess",
                                          "referencedDeclaration": null,
                                          "src": "2374:21:1",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_bytes4",
                                            "typeString": "bytes4"
                                          }
                                        },
                                        "src": "1625:770:1",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_bytes4",
                                          "typeString": "bytes4"
                                        }
                                      },
                                      "nodeType": "BinaryOperation",
                                      "operator": "^",
                                      "rightExpression": {
                                        "argumentTypes": null,
                                        "expression": {
                                          "argumentTypes": null,
                                          "expression": {
                                            "argumentTypes": null,
                                            "id": 186,
                                            "name": "this",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 7725,
                                            "src": "2406:4:1",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_contract$_CalculateERC223_$233",
                                              "typeString": "contract CalculateERC223"
                                            }
                                          },
                                          "id": 187,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "memberName": "decimals",
                                          "nodeType": "MemberAccess",
                                          "referencedDeclaration": 731,
                                          "src": "2406:13:1",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_function_external_view$__$returns$_t_uint8_$",
                                            "typeString": "function () view external returns (uint8)"
                                          }
                                        },
                                        "id": 188,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "memberName": "selector",
                                        "nodeType": "MemberAccess",
                                        "referencedDeclaration": null,
                                        "src": "2406:22:1",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_bytes4",
                                          "typeString": "bytes4"
                                        }
                                      },
                                      "src": "1625:803:1",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_bytes4",
                                        "typeString": "bytes4"
                                      }
                                    },
                                    "nodeType": "BinaryOperation",
                                    "operator": "^",
                                    "rightExpression": {
                                      "argumentTypes": null,
                                      "expression": {
                                        "argumentTypes": null,
                                        "expression": {
                                          "argumentTypes": null,
                                          "id": 190,
                                          "name": "this",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 7725,
                                          "src": "2431:4:1",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_contract$_CalculateERC223_$233",
                                            "typeString": "contract CalculateERC223"
                                          }
                                        },
                                        "id": 191,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "memberName": "initialSupply",
                                        "nodeType": "MemberAccess",
                                        "referencedDeclaration": 733,
                                        "src": "2431:18:1",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$",
                                          "typeString": "function () view external returns (uint256)"
                                        }
                                      },
                                      "id": 192,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "memberName": "selector",
                                      "nodeType": "MemberAccess",
                                      "referencedDeclaration": null,
                                      "src": "2431:27:1",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_bytes4",
                                        "typeString": "bytes4"
                                      }
                                    },
                                    "src": "1625:833:1",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bytes4",
                                      "typeString": "bytes4"
                                    }
                                  },
                                  "nodeType": "BinaryOperation",
                                  "operator": "^",
                                  "rightExpression": {
                                    "argumentTypes": null,
                                    "expression": {
                                      "argumentTypes": null,
                                      "expression": {
                                        "argumentTypes": null,
                                        "id": 194,
                                        "name": "this",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 7725,
                                        "src": "2461:4:1",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_contract$_CalculateERC223_$233",
                                          "typeString": "contract CalculateERC223"
                                        }
                                      },
                                      "id": 195,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "memberName": "mintable",
                                      "nodeType": "MemberAccess",
                                      "referencedDeclaration": 735,
                                      "src": "2461:13:1",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_function_external_view$__$returns$_t_bool_$",
                                        "typeString": "function () view external returns (bool)"
                                      }
                                    },
                                    "id": 196,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "memberName": "selector",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": null,
                                    "src": "2461:22:1",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bytes4",
                                      "typeString": "bytes4"
                                    }
                                  },
                                  "src": "1625:858:1",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes4",
                                    "typeString": "bytes4"
                                  }
                                },
                                "nodeType": "BinaryOperation",
                                "operator": "^",
                                "rightExpression": {
                                  "argumentTypes": null,
                                  "expression": {
                                    "argumentTypes": null,
                                    "expression": {
                                      "argumentTypes": null,
                                      "id": 198,
                                      "name": "this",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 7725,
                                      "src": "2486:4:1",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_contract$_CalculateERC223_$233",
                                        "typeString": "contract CalculateERC223"
                                      }
                                    },
                                    "id": 199,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "memberName": "maxMintable",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": 737,
                                    "src": "2486:16:1",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$",
                                      "typeString": "function () view external returns (uint256)"
                                    }
                                  },
                                  "id": 200,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberName": "selector",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": null,
                                  "src": "2486:25:1",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes4",
                                    "typeString": "bytes4"
                                  }
                                },
                                "src": "1625:886:1",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes4",
                                  "typeString": "bytes4"
                                }
                              },
                              "nodeType": "BinaryOperation",
                              "operator": "^",
                              "rightExpression": {
                                "argumentTypes": null,
                                "expression": {
                                  "argumentTypes": null,
                                  "expression": {
                                    "argumentTypes": null,
                                    "id": 202,
                                    "name": "this",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 7725,
                                    "src": "2522:4:1",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_contract$_CalculateERC223_$233",
                                      "typeString": "contract CalculateERC223"
                                    }
                                  },
                                  "id": 203,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberName": "burnable",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 739,
                                  "src": "2522:13:1",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_external_view$__$returns$_t_bool_$",
                                    "typeString": "function () view external returns (bool)"
                                  }
                                },
                                "id": 204,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "selector",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": null,
                                "src": "2522:22:1",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes4",
                                  "typeString": "bytes4"
                                }
                              },
                              "src": "1625:919:1",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes4",
                                "typeString": "bytes4"
                              }
                            },
                            "nodeType": "BinaryOperation",
                            "operator": "^",
                            "rightExpression": {
                              "argumentTypes": null,
                              "expression": {
                                "argumentTypes": null,
                                "expression": {
                                  "argumentTypes": null,
                                  "id": 206,
                                  "name": "this",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 7725,
                                  "src": "2547:4:1",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_contract$_CalculateERC223_$233",
                                    "typeString": "contract CalculateERC223"
                                  }
                                },
                                "id": 207,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "pausable",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 741,
                                "src": "2547:13:1",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_external_view$__$returns$_t_bool_$",
                                  "typeString": "function () view external returns (bool)"
                                }
                              },
                              "id": 208,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "selector",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": null,
                              "src": "2547:22:1",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes4",
                                "typeString": "bytes4"
                              }
                            },
                            "src": "1625:944:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes4",
                              "typeString": "bytes4"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "^",
                          "rightExpression": {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "expression": {
                                "argumentTypes": null,
                                "id": 210,
                                "name": "this",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 7725,
                                "src": "2572:4:1",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_contract$_CalculateERC223_$233",
                                  "typeString": "contract CalculateERC223"
                                }
                              },
                              "id": 211,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "update",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 834,
                              "src": "2572:11:1",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_uint8_$_t_uint256_$_t_bool_$_t_bool_$_t_bool_$returns$__$",
                                "typeString": "function (string memory,string memory,uint8,uint256,bool,bool,bool) external"
                              }
                            },
                            "id": 212,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "selector",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": null,
                            "src": "2572:20:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes4",
                              "typeString": "bytes4"
                            }
                          },
                          "src": "1625:967:1",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes4",
                            "typeString": "bytes4"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "^",
                        "rightExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 214,
                              "name": "this",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 7725,
                              "src": "2595:4:1",
                              "typeDescriptions": {
                                "typeIdentifier": "t_contract$_CalculateERC223_$233",
                                "typeString": "contract CalculateERC223"
                              }
                            },
                            "id": 215,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "setMaxMintable",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 848,
                            "src": "2595:19:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$",
                              "typeString": "function (uint256) external"
                            }
                          },
                          "id": 216,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "selector",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "2595:28:1",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes4",
                            "typeString": "bytes4"
                          }
                        },
                        "src": "1625:998:1",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes4",
                          "typeString": "bytes4"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "^",
                      "rightExpression": {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "hexValue": "7472616e7366657228616464726573732c75696e743235362c627974657329",
                                "id": 220,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "string",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "2651:33:1",
                                "subdenomination": null,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_stringliteral_be45fd625bc9b4e5b6a9776611d28d19802504643713f724e2557aad60bea8cb",
                                  "typeString": "literal_string \"transfer(address,uint256,bytes)\""
                                },
                                "value": "transfer(address,uint256,bytes)"
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_stringliteral_be45fd625bc9b4e5b6a9776611d28d19802504643713f724e2557aad60bea8cb",
                                  "typeString": "literal_string \"transfer(address,uint256,bytes)\""
                                }
                              ],
                              "id": 219,
                              "name": "keccak256",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 7656,
                              "src": "2641:9:1",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
                                "typeString": "function () pure returns (bytes32)"
                              }
                            },
                            "id": 221,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "2641:44:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          ],
                          "id": 218,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "nodeType": "ElementaryTypeNameExpression",
                          "src": "2634:6:1",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_bytes4_$",
                            "typeString": "type(bytes4)"
                          },
                          "typeName": "bytes4"
                        },
                        "id": 222,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "2634:52:1",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes4",
                          "typeString": "bytes4"
                        }
                      },
                      "src": "1625:1061:1",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes4",
                        "typeString": "bytes4"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "^",
                    "rightExpression": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "hexValue": "7472616e7366657228616464726573732c75696e743235362c62797465732c737472696e6729",
                              "id": 226,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "string",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "2706:40:1",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_stringliteral_f6368f8a6319888e3536ba1e68cdcc614e310126a0c9f79abcce538357493dbd",
                                "typeString": "literal_string \"transfer(address,uint256,bytes,string)\""
                              },
                              "value": "transfer(address,uint256,bytes,string)"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_stringliteral_f6368f8a6319888e3536ba1e68cdcc614e310126a0c9f79abcce538357493dbd",
                                "typeString": "literal_string \"transfer(address,uint256,bytes,string)\""
                              }
                            ],
                            "id": 225,
                            "name": "keccak256",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7656,
                            "src": "2696:9:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
                              "typeString": "function () pure returns (bytes32)"
                            }
                          },
                          "id": 227,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "2696:51:1",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        ],
                        "id": 224,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "nodeType": "ElementaryTypeNameExpression",
                        "src": "2689:6:1",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_bytes4_$",
                          "typeString": "type(bytes4)"
                        },
                        "typeName": "bytes4"
                      },
                      "id": 228,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "typeConversion",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "2689:59:1",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes4",
                        "typeString": "bytes4"
                      }
                    },
                    "src": "1625:1123:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "functionReturnParameters": 80,
                  "id": 230,
                  "nodeType": "Return",
                  "src": "1618:1130:1"
                }
              ]
            },
            "documentation": null,
            "id": 232,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "CalculateSelector",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 77,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "293:2:1"
            },
            "payable": false,
            "returnParameters": {
              "id": 80,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 79,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 232,
                  "src": "317:6:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes4",
                    "typeString": "bytes4"
                  },
                  "typeName": {
                    "id": 78,
                    "name": "bytes4",
                    "nodeType": "ElementaryTypeName",
                    "src": "317:6:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "316:8:1"
            },
            "scope": 233,
            "src": "267:2499:1",
            "stateMutability": "pure",
            "superFunction": null,
            "visibility": "public"
          }
        ],
        "scope": 234,
        "src": "75:2694:1"
      }
    ],
    "src": "0:2770:1"
  },
  "legacyAST": {
    "absolutePath": "/Users/dowonlee/Desktop/dowon/DNext/tokenboost/tokenboost-solidity-erc223token/contracts/template/token/erc223/CalculateERC223.sol",
    "exportedSymbols": {
      "CalculateERC223": [
        233
      ]
    },
    "id": 234,
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 58,
        "literals": [
          "solidity",
          "^",
          "0.4",
          ".24"
        ],
        "nodeType": "PragmaDirective",
        "src": "0:24:1"
      },
      {
        "absolutePath": "/Users/dowonlee/Desktop/dowon/DNext/tokenboost/tokenboost-solidity-erc223token/contracts/token/erc223/ERC223Token.sol",
        "file": "../../../token/erc223/ERC223Token.sol",
        "id": 59,
        "nodeType": "ImportDirective",
        "scope": 234,
        "sourceUnit": 1037,
        "src": "26:47:1",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "baseContracts": [
          {
            "arguments": null,
            "baseName": {
              "contractScope": null,
              "id": 60,
              "name": "ERC223Token",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 1036,
              "src": "103:11:1",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_ERC223Token_$1036",
                "typeString": "contract ERC223Token"
              }
            },
            "id": 61,
            "nodeType": "InheritanceSpecifier",
            "src": "103:11:1"
          }
        ],
        "contractDependencies": [
          321,
          393,
          711,
          1036,
          3168,
          3212,
          3520,
          6531,
          6611,
          6662,
          6722,
          6902,
          6998,
          7069,
          7112,
          7144,
          7250,
          7352,
          7400,
          7647
        ],
        "contractKind": "contract",
        "documentation": null,
        "fullyImplemented": true,
        "id": 233,
        "linearizedBaseContracts": [
          233,
          1036,
          7400,
          6531,
          7250,
          7069,
          393,
          7352,
          6722,
          3520,
          3168,
          3212,
          6662,
          6611,
          6902,
          711,
          7647,
          6998,
          7112,
          7144,
          321
        ],
        "name": "CalculateERC223",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "body": {
              "id": 75,
              "nodeType": "Block",
              "src": "252:8:1",
              "statements": []
            },
            "documentation": null,
            "id": 76,
            "implemented": true,
            "isConstructor": true,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "id": 70,
                    "name": "_owner",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 63,
                    "src": "229:6:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  {
                    "argumentTypes": null,
                    "id": 71,
                    "name": "_name",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 65,
                    "src": "237:5:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory_ptr",
                      "typeString": "string memory"
                    }
                  },
                  {
                    "argumentTypes": null,
                    "id": 72,
                    "name": "_symbol",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 67,
                    "src": "244:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory_ptr",
                      "typeString": "string memory"
                    }
                  }
                ],
                "id": 73,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 69,
                  "name": "ERC223Token",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 1036,
                  "src": "217:11:1",
                  "typeDescriptions": {
                    "typeIdentifier": "t_type$_t_contract$_ERC223Token_$1036_$",
                    "typeString": "type(contract ERC223Token)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "217:35:1"
              }
            ],
            "name": "",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 68,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 63,
                  "name": "_owner",
                  "nodeType": "VariableDeclaration",
                  "scope": 76,
                  "src": "143:14:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 62,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "143:7:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 65,
                  "name": "_name",
                  "nodeType": "VariableDeclaration",
                  "scope": 76,
                  "src": "167:12:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 64,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "167:6:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 67,
                  "name": "_symbol",
                  "nodeType": "VariableDeclaration",
                  "scope": 76,
                  "src": "189:14:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 66,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "189:6:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "133:76:1"
            },
            "payable": false,
            "returnParameters": {
              "id": 74,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "252:0:1"
            },
            "scope": 233,
            "src": "122:138:1",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 231,
              "nodeType": "Block",
              "src": "324:2442:1",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    },
                    "id": 229,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "commonType": {
                        "typeIdentifier": "t_bytes4",
                        "typeString": "bytes4"
                      },
                      "id": 223,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_bytes4",
                          "typeString": "bytes4"
                        },
                        "id": 217,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_bytes4",
                            "typeString": "bytes4"
                          },
                          "id": 213,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "commonType": {
                              "typeIdentifier": "t_bytes4",
                              "typeString": "bytes4"
                            },
                            "id": 209,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "leftExpression": {
                              "argumentTypes": null,
                              "commonType": {
                                "typeIdentifier": "t_bytes4",
                                "typeString": "bytes4"
                              },
                              "id": 205,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftExpression": {
                                "argumentTypes": null,
                                "commonType": {
                                  "typeIdentifier": "t_bytes4",
                                  "typeString": "bytes4"
                                },
                                "id": 201,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftExpression": {
                                  "argumentTypes": null,
                                  "commonType": {
                                    "typeIdentifier": "t_bytes4",
                                    "typeString": "bytes4"
                                  },
                                  "id": 197,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "leftExpression": {
                                    "argumentTypes": null,
                                    "commonType": {
                                      "typeIdentifier": "t_bytes4",
                                      "typeString": "bytes4"
                                    },
                                    "id": 193,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "leftExpression": {
                                      "argumentTypes": null,
                                      "commonType": {
                                        "typeIdentifier": "t_bytes4",
                                        "typeString": "bytes4"
                                      },
                                      "id": 189,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "leftExpression": {
                                        "argumentTypes": null,
                                        "commonType": {
                                          "typeIdentifier": "t_bytes4",
                                          "typeString": "bytes4"
                                        },
                                        "id": 185,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "leftExpression": {
                                          "argumentTypes": null,
                                          "commonType": {
                                            "typeIdentifier": "t_bytes4",
                                            "typeString": "bytes4"
                                          },
                                          "id": 181,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "leftExpression": {
                                            "argumentTypes": null,
                                            "commonType": {
                                              "typeIdentifier": "t_bytes4",
                                              "typeString": "bytes4"
                                            },
                                            "id": 177,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "leftExpression": {
                                              "argumentTypes": null,
                                              "commonType": {
                                                "typeIdentifier": "t_bytes4",
                                                "typeString": "bytes4"
                                              },
                                              "id": 173,
                                              "isConstant": false,
                                              "isLValue": false,
                                              "isPure": false,
                                              "lValueRequested": false,
                                              "leftExpression": {
                                                "argumentTypes": null,
                                                "commonType": {
                                                  "typeIdentifier": "t_bytes4",
                                                  "typeString": "bytes4"
                                                },
                                                "id": 169,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "leftExpression": {
                                                  "argumentTypes": null,
                                                  "commonType": {
                                                    "typeIdentifier": "t_bytes4",
                                                    "typeString": "bytes4"
                                                  },
                                                  "id": 165,
                                                  "isConstant": false,
                                                  "isLValue": false,
                                                  "isPure": false,
                                                  "lValueRequested": false,
                                                  "leftExpression": {
                                                    "argumentTypes": null,
                                                    "commonType": {
                                                      "typeIdentifier": "t_bytes4",
                                                      "typeString": "bytes4"
                                                    },
                                                    "id": 161,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "leftExpression": {
                                                      "argumentTypes": null,
                                                      "commonType": {
                                                        "typeIdentifier": "t_bytes4",
                                                        "typeString": "bytes4"
                                                      },
                                                      "id": 157,
                                                      "isConstant": false,
                                                      "isLValue": false,
                                                      "isPure": false,
                                                      "lValueRequested": false,
                                                      "leftExpression": {
                                                        "argumentTypes": null,
                                                        "commonType": {
                                                          "typeIdentifier": "t_bytes4",
                                                          "typeString": "bytes4"
                                                        },
                                                        "id": 153,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": false,
                                                        "lValueRequested": false,
                                                        "leftExpression": {
                                                          "argumentTypes": null,
                                                          "commonType": {
                                                            "typeIdentifier": "t_bytes4",
                                                            "typeString": "bytes4"
                                                          },
                                                          "id": 149,
                                                          "isConstant": false,
                                                          "isLValue": false,
                                                          "isPure": false,
                                                          "lValueRequested": false,
                                                          "leftExpression": {
                                                            "argumentTypes": null,
                                                            "commonType": {
                                                              "typeIdentifier": "t_bytes4",
                                                              "typeString": "bytes4"
                                                            },
                                                            "id": 145,
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "leftExpression": {
                                                              "argumentTypes": null,
                                                              "commonType": {
                                                                "typeIdentifier": "t_bytes4",
                                                                "typeString": "bytes4"
                                                              },
                                                              "id": 141,
                                                              "isConstant": false,
                                                              "isLValue": false,
                                                              "isPure": false,
                                                              "lValueRequested": false,
                                                              "leftExpression": {
                                                                "argumentTypes": null,
                                                                "commonType": {
                                                                  "typeIdentifier": "t_bytes4",
                                                                  "typeString": "bytes4"
                                                                },
                                                                "id": 137,
                                                                "isConstant": false,
                                                                "isLValue": false,
                                                                "isPure": false,
                                                                "lValueRequested": false,
                                                                "leftExpression": {
                                                                  "argumentTypes": null,
                                                                  "commonType": {
                                                                    "typeIdentifier": "t_bytes4",
                                                                    "typeString": "bytes4"
                                                                  },
                                                                  "id": 133,
                                                                  "isConstant": false,
                                                                  "isLValue": false,
                                                                  "isPure": false,
                                                                  "lValueRequested": false,
                                                                  "leftExpression": {
                                                                    "argumentTypes": null,
                                                                    "commonType": {
                                                                      "typeIdentifier": "t_bytes4",
                                                                      "typeString": "bytes4"
                                                                    },
                                                                    "id": 129,
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "leftExpression": {
                                                                      "argumentTypes": null,
                                                                      "commonType": {
                                                                        "typeIdentifier": "t_bytes4",
                                                                        "typeString": "bytes4"
                                                                      },
                                                                      "id": 125,
                                                                      "isConstant": false,
                                                                      "isLValue": false,
                                                                      "isPure": false,
                                                                      "lValueRequested": false,
                                                                      "leftExpression": {
                                                                        "argumentTypes": null,
                                                                        "commonType": {
                                                                          "typeIdentifier": "t_bytes4",
                                                                          "typeString": "bytes4"
                                                                        },
                                                                        "id": 121,
                                                                        "isConstant": false,
                                                                        "isLValue": false,
                                                                        "isPure": false,
                                                                        "lValueRequested": false,
                                                                        "leftExpression": {
                                                                          "argumentTypes": null,
                                                                          "commonType": {
                                                                            "typeIdentifier": "t_bytes4",
                                                                            "typeString": "bytes4"
                                                                          },
                                                                          "id": 115,
                                                                          "isConstant": false,
                                                                          "isLValue": false,
                                                                          "isPure": false,
                                                                          "lValueRequested": false,
                                                                          "leftExpression": {
                                                                            "argumentTypes": null,
                                                                            "commonType": {
                                                                              "typeIdentifier": "t_bytes4",
                                                                              "typeString": "bytes4"
                                                                            },
                                                                            "id": 111,
                                                                            "isConstant": false,
                                                                            "isLValue": false,
                                                                            "isPure": false,
                                                                            "lValueRequested": false,
                                                                            "leftExpression": {
                                                                              "argumentTypes": null,
                                                                              "commonType": {
                                                                                "typeIdentifier": "t_bytes4",
                                                                                "typeString": "bytes4"
                                                                              },
                                                                              "id": 107,
                                                                              "isConstant": false,
                                                                              "isLValue": false,
                                                                              "isPure": false,
                                                                              "lValueRequested": false,
                                                                              "leftExpression": {
                                                                                "argumentTypes": null,
                                                                                "commonType": {
                                                                                  "typeIdentifier": "t_bytes4",
                                                                                  "typeString": "bytes4"
                                                                                },
                                                                                "id": 103,
                                                                                "isConstant": false,
                                                                                "isLValue": false,
                                                                                "isPure": false,
                                                                                "lValueRequested": false,
                                                                                "leftExpression": {
                                                                                  "argumentTypes": null,
                                                                                  "commonType": {
                                                                                    "typeIdentifier": "t_bytes4",
                                                                                    "typeString": "bytes4"
                                                                                  },
                                                                                  "id": 99,
                                                                                  "isConstant": false,
                                                                                  "isLValue": false,
                                                                                  "isPure": false,
                                                                                  "lValueRequested": false,
                                                                                  "leftExpression": {
                                                                                    "argumentTypes": null,
                                                                                    "commonType": {
                                                                                      "typeIdentifier": "t_bytes4",
                                                                                      "typeString": "bytes4"
                                                                                    },
                                                                                    "id": 95,
                                                                                    "isConstant": false,
                                                                                    "isLValue": false,
                                                                                    "isPure": false,
                                                                                    "lValueRequested": false,
                                                                                    "leftExpression": {
                                                                                      "argumentTypes": null,
                                                                                      "commonType": {
                                                                                        "typeIdentifier": "t_bytes4",
                                                                                        "typeString": "bytes4"
                                                                                      },
                                                                                      "id": 91,
                                                                                      "isConstant": false,
                                                                                      "isLValue": false,
                                                                                      "isPure": false,
                                                                                      "lValueRequested": false,
                                                                                      "leftExpression": {
                                                                                        "argumentTypes": null,
                                                                                        "commonType": {
                                                                                          "typeIdentifier": "t_bytes4",
                                                                                          "typeString": "bytes4"
                                                                                        },
                                                                                        "id": 87,
                                                                                        "isConstant": false,
                                                                                        "isLValue": false,
                                                                                        "isPure": false,
                                                                                        "lValueRequested": false,
                                                                                        "leftExpression": {
                                                                                          "argumentTypes": null,
                                                                                          "expression": {
                                                                                            "argumentTypes": null,
                                                                                            "expression": {
                                                                                              "argumentTypes": null,
                                                                                              "id": 81,
                                                                                              "name": "this",
                                                                                              "nodeType": "Identifier",
                                                                                              "overloadedDeclarations": [],
                                                                                              "referencedDeclaration": 7725,
                                                                                              "src": "1625:4:1",
                                                                                              "typeDescriptions": {
                                                                                                "typeIdentifier": "t_contract$_CalculateERC223_$233",
                                                                                                "typeString": "contract CalculateERC223"
                                                                                              }
                                                                                            },
                                                                                            "id": 82,
                                                                                            "isConstant": false,
                                                                                            "isLValue": false,
                                                                                            "isPure": false,
                                                                                            "lValueRequested": false,
                                                                                            "memberName": "owner",
                                                                                            "nodeType": "MemberAccess",
                                                                                            "referencedDeclaration": 6820,
                                                                                            "src": "1625:10:1",
                                                                                            "typeDescriptions": {
                                                                                              "typeIdentifier": "t_function_external_view$__$returns$_t_address_$",
                                                                                              "typeString": "function () view external returns (address)"
                                                                                            }
                                                                                          },
                                                                                          "id": 83,
                                                                                          "isConstant": false,
                                                                                          "isLValue": false,
                                                                                          "isPure": false,
                                                                                          "lValueRequested": false,
                                                                                          "memberName": "selector",
                                                                                          "nodeType": "MemberAccess",
                                                                                          "referencedDeclaration": null,
                                                                                          "src": "1625:19:1",
                                                                                          "typeDescriptions": {
                                                                                            "typeIdentifier": "t_bytes4",
                                                                                            "typeString": "bytes4"
                                                                                          }
                                                                                        },
                                                                                        "nodeType": "BinaryOperation",
                                                                                        "operator": "^",
                                                                                        "rightExpression": {
                                                                                          "argumentTypes": null,
                                                                                          "expression": {
                                                                                            "argumentTypes": null,
                                                                                            "expression": {
                                                                                              "argumentTypes": null,
                                                                                              "id": 84,
                                                                                              "name": "this",
                                                                                              "nodeType": "Identifier",
                                                                                              "overloadedDeclarations": [],
                                                                                              "referencedDeclaration": 7725,
                                                                                              "src": "1647:4:1",
                                                                                              "typeDescriptions": {
                                                                                                "typeIdentifier": "t_contract$_CalculateERC223_$233",
                                                                                                "typeString": "contract CalculateERC223"
                                                                                              }
                                                                                            },
                                                                                            "id": 85,
                                                                                            "isConstant": false,
                                                                                            "isLValue": false,
                                                                                            "isPure": false,
                                                                                            "lValueRequested": false,
                                                                                            "memberName": "renounceOwnership",
                                                                                            "nodeType": "MemberAccess",
                                                                                            "referencedDeclaration": 6866,
                                                                                            "src": "1647:22:1",
                                                                                            "typeDescriptions": {
                                                                                              "typeIdentifier": "t_function_external_nonpayable$__$returns$__$",
                                                                                              "typeString": "function () external"
                                                                                            }
                                                                                          },
                                                                                          "id": 86,
                                                                                          "isConstant": false,
                                                                                          "isLValue": false,
                                                                                          "isPure": false,
                                                                                          "lValueRequested": false,
                                                                                          "memberName": "selector",
                                                                                          "nodeType": "MemberAccess",
                                                                                          "referencedDeclaration": null,
                                                                                          "src": "1647:31:1",
                                                                                          "typeDescriptions": {
                                                                                            "typeIdentifier": "t_bytes4",
                                                                                            "typeString": "bytes4"
                                                                                          }
                                                                                        },
                                                                                        "src": "1625:53:1",
                                                                                        "typeDescriptions": {
                                                                                          "typeIdentifier": "t_bytes4",
                                                                                          "typeString": "bytes4"
                                                                                        }
                                                                                      },
                                                                                      "nodeType": "BinaryOperation",
                                                                                      "operator": "^",
                                                                                      "rightExpression": {
                                                                                        "argumentTypes": null,
                                                                                        "expression": {
                                                                                          "argumentTypes": null,
                                                                                          "expression": {
                                                                                            "argumentTypes": null,
                                                                                            "id": 88,
                                                                                            "name": "this",
                                                                                            "nodeType": "Identifier",
                                                                                            "overloadedDeclarations": [],
                                                                                            "referencedDeclaration": 7725,
                                                                                            "src": "1681:4:1",
                                                                                            "typeDescriptions": {
                                                                                              "typeIdentifier": "t_contract$_CalculateERC223_$233",
                                                                                              "typeString": "contract CalculateERC223"
                                                                                            }
                                                                                          },
                                                                                          "id": 89,
                                                                                          "isConstant": false,
                                                                                          "isLValue": false,
                                                                                          "isPure": false,
                                                                                          "lValueRequested": false,
                                                                                          "memberName": "transferOwnership",
                                                                                          "nodeType": "MemberAccess",
                                                                                          "referencedDeclaration": 6878,
                                                                                          "src": "1681:22:1",
                                                                                          "typeDescriptions": {
                                                                                            "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$",
                                                                                            "typeString": "function (address) external"
                                                                                          }
                                                                                        },
                                                                                        "id": 90,
                                                                                        "isConstant": false,
                                                                                        "isLValue": false,
                                                                                        "isPure": false,
                                                                                        "lValueRequested": false,
                                                                                        "memberName": "selector",
                                                                                        "nodeType": "MemberAccess",
                                                                                        "referencedDeclaration": null,
                                                                                        "src": "1681:31:1",
                                                                                        "typeDescriptions": {
                                                                                          "typeIdentifier": "t_bytes4",
                                                                                          "typeString": "bytes4"
                                                                                        }
                                                                                      },
                                                                                      "src": "1625:87:1",
                                                                                      "typeDescriptions": {
                                                                                        "typeIdentifier": "t_bytes4",
                                                                                        "typeString": "bytes4"
                                                                                      }
                                                                                    },
                                                                                    "nodeType": "BinaryOperation",
                                                                                    "operator": "^",
                                                                                    "rightExpression": {
                                                                                      "argumentTypes": null,
                                                                                      "expression": {
                                                                                        "argumentTypes": null,
                                                                                        "expression": {
                                                                                          "argumentTypes": null,
                                                                                          "id": 92,
                                                                                          "name": "this",
                                                                                          "nodeType": "Identifier",
                                                                                          "overloadedDeclarations": [],
                                                                                          "referencedDeclaration": 7725,
                                                                                          "src": "1723:4:1",
                                                                                          "typeDescriptions": {
                                                                                            "typeIdentifier": "t_contract$_CalculateERC223_$233",
                                                                                            "typeString": "contract CalculateERC223"
                                                                                          }
                                                                                        },
                                                                                        "id": 93,
                                                                                        "isConstant": false,
                                                                                        "isLValue": false,
                                                                                        "isPure": false,
                                                                                        "lValueRequested": false,
                                                                                        "memberName": "template",
                                                                                        "nodeType": "MemberAccess",
                                                                                        "referencedDeclaration": 3182,
                                                                                        "src": "1723:13:1",
                                                                                        "typeDescriptions": {
                                                                                          "typeIdentifier": "t_function_external_view$__$returns$_t_contract$_Template_$3416_$",
                                                                                          "typeString": "function () view external returns (contract Template)"
                                                                                        }
                                                                                      },
                                                                                      "id": 94,
                                                                                      "isConstant": false,
                                                                                      "isLValue": false,
                                                                                      "isPure": false,
                                                                                      "lValueRequested": false,
                                                                                      "memberName": "selector",
                                                                                      "nodeType": "MemberAccess",
                                                                                      "referencedDeclaration": null,
                                                                                      "src": "1723:22:1",
                                                                                      "typeDescriptions": {
                                                                                        "typeIdentifier": "t_bytes4",
                                                                                        "typeString": "bytes4"
                                                                                      }
                                                                                    },
                                                                                    "src": "1625:120:1",
                                                                                    "typeDescriptions": {
                                                                                      "typeIdentifier": "t_bytes4",
                                                                                      "typeString": "bytes4"
                                                                                    }
                                                                                  },
                                                                                  "nodeType": "BinaryOperation",
                                                                                  "operator": "^",
                                                                                  "rightExpression": {
                                                                                    "argumentTypes": null,
                                                                                    "expression": {
                                                                                      "argumentTypes": null,
                                                                                      "expression": {
                                                                                        "argumentTypes": null,
                                                                                        "id": 96,
                                                                                        "name": "this",
                                                                                        "nodeType": "Identifier",
                                                                                        "overloadedDeclarations": [],
                                                                                        "referencedDeclaration": 7725,
                                                                                        "src": "1748:4:1",
                                                                                        "typeDescriptions": {
                                                                                          "typeIdentifier": "t_contract$_CalculateERC223_$233",
                                                                                          "typeString": "contract CalculateERC223"
                                                                                        }
                                                                                      },
                                                                                      "id": 97,
                                                                                      "isConstant": false,
                                                                                      "isLValue": false,
                                                                                      "isPure": false,
                                                                                      "lValueRequested": false,
                                                                                      "memberName": "activate",
                                                                                      "nodeType": "MemberAccess",
                                                                                      "referencedDeclaration": 870,
                                                                                      "src": "1748:13:1",
                                                                                      "typeDescriptions": {
                                                                                        "typeIdentifier": "t_function_external_nonpayable$__$returns$_t_bool_$",
                                                                                        "typeString": "function () external returns (bool)"
                                                                                      }
                                                                                    },
                                                                                    "id": 98,
                                                                                    "isConstant": false,
                                                                                    "isLValue": false,
                                                                                    "isPure": false,
                                                                                    "lValueRequested": false,
                                                                                    "memberName": "selector",
                                                                                    "nodeType": "MemberAccess",
                                                                                    "referencedDeclaration": null,
                                                                                    "src": "1748:22:1",
                                                                                    "typeDescriptions": {
                                                                                      "typeIdentifier": "t_bytes4",
                                                                                      "typeString": "bytes4"
                                                                                    }
                                                                                  },
                                                                                  "src": "1625:145:1",
                                                                                  "typeDescriptions": {
                                                                                    "typeIdentifier": "t_bytes4",
                                                                                    "typeString": "bytes4"
                                                                                  }
                                                                                },
                                                                                "nodeType": "BinaryOperation",
                                                                                "operator": "^",
                                                                                "rightExpression": {
                                                                                  "argumentTypes": null,
                                                                                  "expression": {
                                                                                    "argumentTypes": null,
                                                                                    "expression": {
                                                                                      "argumentTypes": null,
                                                                                      "id": 100,
                                                                                      "name": "this",
                                                                                      "nodeType": "Identifier",
                                                                                      "overloadedDeclarations": [],
                                                                                      "referencedDeclaration": 7725,
                                                                                      "src": "1773:4:1",
                                                                                      "typeDescriptions": {
                                                                                        "typeIdentifier": "t_contract$_CalculateERC223_$233",
                                                                                        "typeString": "contract CalculateERC223"
                                                                                      }
                                                                                    },
                                                                                    "id": 101,
                                                                                    "isConstant": false,
                                                                                    "isLValue": false,
                                                                                    "isPure": false,
                                                                                    "lValueRequested": false,
                                                                                    "memberName": "name",
                                                                                    "nodeType": "MemberAccess",
                                                                                    "referencedDeclaration": 3480,
                                                                                    "src": "1773:9:1",
                                                                                    "typeDescriptions": {
                                                                                      "typeIdentifier": "t_function_external_view$__$returns$_t_string_memory_$",
                                                                                      "typeString": "function () view external returns (string memory)"
                                                                                    }
                                                                                  },
                                                                                  "id": 102,
                                                                                  "isConstant": false,
                                                                                  "isLValue": false,
                                                                                  "isPure": false,
                                                                                  "lValueRequested": false,
                                                                                  "memberName": "selector",
                                                                                  "nodeType": "MemberAccess",
                                                                                  "referencedDeclaration": null,
                                                                                  "src": "1773:18:1",
                                                                                  "typeDescriptions": {
                                                                                    "typeIdentifier": "t_bytes4",
                                                                                    "typeString": "bytes4"
                                                                                  }
                                                                                },
                                                                                "src": "1625:166:1",
                                                                                "typeDescriptions": {
                                                                                  "typeIdentifier": "t_bytes4",
                                                                                  "typeString": "bytes4"
                                                                                }
                                                                              },
                                                                              "nodeType": "BinaryOperation",
                                                                              "operator": "^",
                                                                              "rightExpression": {
                                                                                "argumentTypes": null,
                                                                                "expression": {
                                                                                  "argumentTypes": null,
                                                                                  "expression": {
                                                                                    "argumentTypes": null,
                                                                                    "id": 104,
                                                                                    "name": "this",
                                                                                    "nodeType": "Identifier",
                                                                                    "overloadedDeclarations": [],
                                                                                    "referencedDeclaration": 7725,
                                                                                    "src": "1794:4:1",
                                                                                    "typeDescriptions": {
                                                                                      "typeIdentifier": "t_contract$_CalculateERC223_$233",
                                                                                      "typeString": "contract CalculateERC223"
                                                                                    }
                                                                                  },
                                                                                  "id": 105,
                                                                                  "isConstant": false,
                                                                                  "isLValue": false,
                                                                                  "isPure": false,
                                                                                  "lValueRequested": false,
                                                                                  "memberName": "symbol",
                                                                                  "nodeType": "MemberAccess",
                                                                                  "referencedDeclaration": 3482,
                                                                                  "src": "1794:11:1",
                                                                                  "typeDescriptions": {
                                                                                    "typeIdentifier": "t_function_external_view$__$returns$_t_string_memory_$",
                                                                                    "typeString": "function () view external returns (string memory)"
                                                                                  }
                                                                                },
                                                                                "id": 106,
                                                                                "isConstant": false,
                                                                                "isLValue": false,
                                                                                "isPure": false,
                                                                                "lValueRequested": false,
                                                                                "memberName": "selector",
                                                                                "nodeType": "MemberAccess",
                                                                                "referencedDeclaration": null,
                                                                                "src": "1794:20:1",
                                                                                "typeDescriptions": {
                                                                                  "typeIdentifier": "t_bytes4",
                                                                                  "typeString": "bytes4"
                                                                                }
                                                                              },
                                                                              "src": "1625:189:1",
                                                                              "typeDescriptions": {
                                                                                "typeIdentifier": "t_bytes4",
                                                                                "typeString": "bytes4"
                                                                              }
                                                                            },
                                                                            "nodeType": "BinaryOperation",
                                                                            "operator": "^",
                                                                            "rightExpression": {
                                                                              "argumentTypes": null,
                                                                              "expression": {
                                                                                "argumentTypes": null,
                                                                                "expression": {
                                                                                  "argumentTypes": null,
                                                                                  "id": 108,
                                                                                  "name": "this",
                                                                                  "nodeType": "Identifier",
                                                                                  "overloadedDeclarations": [],
                                                                                  "referencedDeclaration": 7725,
                                                                                  "src": "1825:4:1",
                                                                                  "typeDescriptions": {
                                                                                    "typeIdentifier": "t_contract$_CalculateERC223_$233",
                                                                                    "typeString": "contract CalculateERC223"
                                                                                  }
                                                                                },
                                                                                "id": 109,
                                                                                "isConstant": false,
                                                                                "isLValue": false,
                                                                                "isPure": false,
                                                                                "lValueRequested": false,
                                                                                "memberName": "totalSupply",
                                                                                "nodeType": "MemberAccess",
                                                                                "referencedDeclaration": 6925,
                                                                                "src": "1825:16:1",
                                                                                "typeDescriptions": {
                                                                                  "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$",
                                                                                  "typeString": "function () view external returns (uint256)"
                                                                                }
                                                                              },
                                                                              "id": 110,
                                                                              "isConstant": false,
                                                                              "isLValue": false,
                                                                              "isPure": false,
                                                                              "lValueRequested": false,
                                                                              "memberName": "selector",
                                                                              "nodeType": "MemberAccess",
                                                                              "referencedDeclaration": null,
                                                                              "src": "1825:25:1",
                                                                              "typeDescriptions": {
                                                                                "typeIdentifier": "t_bytes4",
                                                                                "typeString": "bytes4"
                                                                              }
                                                                            },
                                                                            "src": "1625:225:1",
                                                                            "typeDescriptions": {
                                                                              "typeIdentifier": "t_bytes4",
                                                                              "typeString": "bytes4"
                                                                            }
                                                                          },
                                                                          "nodeType": "BinaryOperation",
                                                                          "operator": "^",
                                                                          "rightExpression": {
                                                                            "argumentTypes": null,
                                                                            "expression": {
                                                                              "argumentTypes": null,
                                                                              "expression": {
                                                                                "argumentTypes": null,
                                                                                "id": 112,
                                                                                "name": "this",
                                                                                "nodeType": "Identifier",
                                                                                "overloadedDeclarations": [],
                                                                                "referencedDeclaration": 7725,
                                                                                "src": "1853:4:1",
                                                                                "typeDescriptions": {
                                                                                  "typeIdentifier": "t_contract$_CalculateERC223_$233",
                                                                                  "typeString": "contract CalculateERC223"
                                                                                }
                                                                              },
                                                                              "id": 113,
                                                                              "isConstant": false,
                                                                              "isLValue": false,
                                                                              "isPure": false,
                                                                              "lValueRequested": false,
                                                                              "memberName": "balanceOf",
                                                                              "nodeType": "MemberAccess",
                                                                              "referencedDeclaration": 6997,
                                                                              "src": "1853:14:1",
                                                                              "typeDescriptions": {
                                                                                "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$",
                                                                                "typeString": "function (address) view external returns (uint256)"
                                                                              }
                                                                            },
                                                                            "id": 114,
                                                                            "isConstant": false,
                                                                            "isLValue": false,
                                                                            "isPure": false,
                                                                            "lValueRequested": false,
                                                                            "memberName": "selector",
                                                                            "nodeType": "MemberAccess",
                                                                            "referencedDeclaration": null,
                                                                            "src": "1853:23:1",
                                                                            "typeDescriptions": {
                                                                              "typeIdentifier": "t_bytes4",
                                                                              "typeString": "bytes4"
                                                                            }
                                                                          },
                                                                          "src": "1625:251:1",
                                                                          "typeDescriptions": {
                                                                            "typeIdentifier": "t_bytes4",
                                                                            "typeString": "bytes4"
                                                                          }
                                                                        },
                                                                        "nodeType": "BinaryOperation",
                                                                        "operator": "^",
                                                                        "rightExpression": {
                                                                          "argumentTypes": null,
                                                                          "arguments": [
                                                                            {
                                                                              "argumentTypes": null,
                                                                              "arguments": [
                                                                                {
                                                                                  "argumentTypes": null,
                                                                                  "hexValue": "7472616e7366657228616464726573732c75696e7432353629",
                                                                                  "id": 118,
                                                                                  "isConstant": false,
                                                                                  "isLValue": false,
                                                                                  "isPure": true,
                                                                                  "kind": "string",
                                                                                  "lValueRequested": false,
                                                                                  "nodeType": "Literal",
                                                                                  "src": "1896:27:1",
                                                                                  "subdenomination": null,
                                                                                  "typeDescriptions": {
                                                                                    "typeIdentifier": "t_stringliteral_a9059cbb2ab09eb219583f4a59a5d0623ade346d962bcd4e46b11da047c9049b",
                                                                                    "typeString": "literal_string \"transfer(address,uint256)\""
                                                                                  },
                                                                                  "value": "transfer(address,uint256)"
                                                                                }
                                                                              ],
                                                                              "expression": {
                                                                                "argumentTypes": [
                                                                                  {
                                                                                    "typeIdentifier": "t_stringliteral_a9059cbb2ab09eb219583f4a59a5d0623ade346d962bcd4e46b11da047c9049b",
                                                                                    "typeString": "literal_string \"transfer(address,uint256)\""
                                                                                  }
                                                                                ],
                                                                                "id": 117,
                                                                                "name": "keccak256",
                                                                                "nodeType": "Identifier",
                                                                                "overloadedDeclarations": [],
                                                                                "referencedDeclaration": 7656,
                                                                                "src": "1886:9:1",
                                                                                "typeDescriptions": {
                                                                                  "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
                                                                                  "typeString": "function () pure returns (bytes32)"
                                                                                }
                                                                              },
                                                                              "id": 119,
                                                                              "isConstant": false,
                                                                              "isLValue": false,
                                                                              "isPure": true,
                                                                              "kind": "functionCall",
                                                                              "lValueRequested": false,
                                                                              "names": [],
                                                                              "nodeType": "FunctionCall",
                                                                              "src": "1886:38:1",
                                                                              "typeDescriptions": {
                                                                                "typeIdentifier": "t_bytes32",
                                                                                "typeString": "bytes32"
                                                                              }
                                                                            }
                                                                          ],
                                                                          "expression": {
                                                                            "argumentTypes": [
                                                                              {
                                                                                "typeIdentifier": "t_bytes32",
                                                                                "typeString": "bytes32"
                                                                              }
                                                                            ],
                                                                            "id": 116,
                                                                            "isConstant": false,
                                                                            "isLValue": false,
                                                                            "isPure": true,
                                                                            "lValueRequested": false,
                                                                            "nodeType": "ElementaryTypeNameExpression",
                                                                            "src": "1879:6:1",
                                                                            "typeDescriptions": {
                                                                              "typeIdentifier": "t_type$_t_bytes4_$",
                                                                              "typeString": "type(bytes4)"
                                                                            },
                                                                            "typeName": "bytes4"
                                                                          },
                                                                          "id": 120,
                                                                          "isConstant": false,
                                                                          "isLValue": false,
                                                                          "isPure": true,
                                                                          "kind": "typeConversion",
                                                                          "lValueRequested": false,
                                                                          "names": [],
                                                                          "nodeType": "FunctionCall",
                                                                          "src": "1879:46:1",
                                                                          "typeDescriptions": {
                                                                            "typeIdentifier": "t_bytes4",
                                                                            "typeString": "bytes4"
                                                                          }
                                                                        },
                                                                        "src": "1625:300:1",
                                                                        "typeDescriptions": {
                                                                          "typeIdentifier": "t_bytes4",
                                                                          "typeString": "bytes4"
                                                                        }
                                                                      },
                                                                      "nodeType": "BinaryOperation",
                                                                      "operator": "^",
                                                                      "rightExpression": {
                                                                        "argumentTypes": null,
                                                                        "expression": {
                                                                          "argumentTypes": null,
                                                                          "expression": {
                                                                            "argumentTypes": null,
                                                                            "id": 122,
                                                                            "name": "this",
                                                                            "nodeType": "Identifier",
                                                                            "overloadedDeclarations": [],
                                                                            "referencedDeclaration": 7725,
                                                                            "src": "1936:4:1",
                                                                            "typeDescriptions": {
                                                                              "typeIdentifier": "t_contract$_CalculateERC223_$233",
                                                                              "typeString": "contract CalculateERC223"
                                                                            }
                                                                          },
                                                                          "id": 123,
                                                                          "isConstant": false,
                                                                          "isLValue": false,
                                                                          "isPure": false,
                                                                          "lValueRequested": false,
                                                                          "memberName": "allowance",
                                                                          "nodeType": "MemberAccess",
                                                                          "referencedDeclaration": 7544,
                                                                          "src": "1936:14:1",
                                                                          "typeDescriptions": {
                                                                            "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$",
                                                                            "typeString": "function (address,address) view external returns (uint256)"
                                                                          }
                                                                        },
                                                                        "id": 124,
                                                                        "isConstant": false,
                                                                        "isLValue": false,
                                                                        "isPure": false,
                                                                        "lValueRequested": false,
                                                                        "memberName": "selector",
                                                                        "nodeType": "MemberAccess",
                                                                        "referencedDeclaration": null,
                                                                        "src": "1936:23:1",
                                                                        "typeDescriptions": {
                                                                          "typeIdentifier": "t_bytes4",
                                                                          "typeString": "bytes4"
                                                                        }
                                                                      },
                                                                      "src": "1625:334:1",
                                                                      "typeDescriptions": {
                                                                        "typeIdentifier": "t_bytes4",
                                                                        "typeString": "bytes4"
                                                                      }
                                                                    },
                                                                    "nodeType": "BinaryOperation",
                                                                    "operator": "^",
                                                                    "rightExpression": {
                                                                      "argumentTypes": null,
                                                                      "expression": {
                                                                        "argumentTypes": null,
                                                                        "expression": {
                                                                          "argumentTypes": null,
                                                                          "id": 126,
                                                                          "name": "this",
                                                                          "nodeType": "Identifier",
                                                                          "overloadedDeclarations": [],
                                                                          "referencedDeclaration": 7725,
                                                                          "src": "1962:4:1",
                                                                          "typeDescriptions": {
                                                                            "typeIdentifier": "t_contract$_CalculateERC223_$233",
                                                                            "typeString": "contract CalculateERC223"
                                                                          }
                                                                        },
                                                                        "id": 127,
                                                                        "isConstant": false,
                                                                        "isLValue": false,
                                                                        "isPure": false,
                                                                        "lValueRequested": false,
                                                                        "memberName": "transferFrom",
                                                                        "nodeType": "MemberAccess",
                                                                        "referencedDeclaration": 954,
                                                                        "src": "1962:17:1",
                                                                        "typeDescriptions": {
                                                                          "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$",
                                                                          "typeString": "function (address,address,uint256) external returns (bool)"
                                                                        }
                                                                      },
                                                                      "id": 128,
                                                                      "isConstant": false,
                                                                      "isLValue": false,
                                                                      "isPure": false,
                                                                      "lValueRequested": false,
                                                                      "memberName": "selector",
                                                                      "nodeType": "MemberAccess",
                                                                      "referencedDeclaration": null,
                                                                      "src": "1962:26:1",
                                                                      "typeDescriptions": {
                                                                        "typeIdentifier": "t_bytes4",
                                                                        "typeString": "bytes4"
                                                                      }
                                                                    },
                                                                    "src": "1625:363:1",
                                                                    "typeDescriptions": {
                                                                      "typeIdentifier": "t_bytes4",
                                                                      "typeString": "bytes4"
                                                                    }
                                                                  },
                                                                  "nodeType": "BinaryOperation",
                                                                  "operator": "^",
                                                                  "rightExpression": {
                                                                    "argumentTypes": null,
                                                                    "expression": {
                                                                      "argumentTypes": null,
                                                                      "expression": {
                                                                        "argumentTypes": null,
                                                                        "id": 130,
                                                                        "name": "this",
                                                                        "nodeType": "Identifier",
                                                                        "overloadedDeclarations": [],
                                                                        "referencedDeclaration": 7725,
                                                                        "src": "1991:4:1",
                                                                        "typeDescriptions": {
                                                                          "typeIdentifier": "t_contract$_CalculateERC223_$233",
                                                                          "typeString": "contract CalculateERC223"
                                                                        }
                                                                      },
                                                                      "id": 131,
                                                                      "isConstant": false,
                                                                      "isLValue": false,
                                                                      "isPure": false,
                                                                      "lValueRequested": false,
                                                                      "memberName": "approve",
                                                                      "nodeType": "MemberAccess",
                                                                      "referencedDeclaration": 972,
                                                                      "src": "1991:12:1",
                                                                      "typeDescriptions": {
                                                                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$",
                                                                        "typeString": "function (address,uint256) external returns (bool)"
                                                                      }
                                                                    },
                                                                    "id": 132,
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "memberName": "selector",
                                                                    "nodeType": "MemberAccess",
                                                                    "referencedDeclaration": null,
                                                                    "src": "1991:21:1",
                                                                    "typeDescriptions": {
                                                                      "typeIdentifier": "t_bytes4",
                                                                      "typeString": "bytes4"
                                                                    }
                                                                  },
                                                                  "src": "1625:387:1",
                                                                  "typeDescriptions": {
                                                                    "typeIdentifier": "t_bytes4",
                                                                    "typeString": "bytes4"
                                                                  }
                                                                },
                                                                "nodeType": "BinaryOperation",
                                                                "operator": "^",
                                                                "rightExpression": {
                                                                  "argumentTypes": null,
                                                                  "expression": {
                                                                    "argumentTypes": null,
                                                                    "expression": {
                                                                      "argumentTypes": null,
                                                                      "id": 134,
                                                                      "name": "this",
                                                                      "nodeType": "Identifier",
                                                                      "overloadedDeclarations": [],
                                                                      "referencedDeclaration": 7725,
                                                                      "src": "2023:4:1",
                                                                      "typeDescriptions": {
                                                                        "typeIdentifier": "t_contract$_CalculateERC223_$233",
                                                                        "typeString": "contract CalculateERC223"
                                                                      }
                                                                    },
                                                                    "id": 135,
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "memberName": "increaseApproval",
                                                                    "nodeType": "MemberAccess",
                                                                    "referencedDeclaration": 7333,
                                                                    "src": "2023:21:1",
                                                                    "typeDescriptions": {
                                                                      "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$",
                                                                      "typeString": "function (address,uint256) external returns (bool)"
                                                                    }
                                                                  },
                                                                  "id": 136,
                                                                  "isConstant": false,
                                                                  "isLValue": false,
                                                                  "isPure": false,
                                                                  "lValueRequested": false,
                                                                  "memberName": "selector",
                                                                  "nodeType": "MemberAccess",
                                                                  "referencedDeclaration": null,
                                                                  "src": "2023:30:1",
                                                                  "typeDescriptions": {
                                                                    "typeIdentifier": "t_bytes4",
                                                                    "typeString": "bytes4"
                                                                  }
                                                                },
                                                                "src": "1625:428:1",
                                                                "typeDescriptions": {
                                                                  "typeIdentifier": "t_bytes4",
                                                                  "typeString": "bytes4"
                                                                }
                                                              },
                                                              "nodeType": "BinaryOperation",
                                                              "operator": "^",
                                                              "rightExpression": {
                                                                "argumentTypes": null,
                                                                "expression": {
                                                                  "argumentTypes": null,
                                                                  "expression": {
                                                                    "argumentTypes": null,
                                                                    "id": 138,
                                                                    "name": "this",
                                                                    "nodeType": "Identifier",
                                                                    "overloadedDeclarations": [],
                                                                    "referencedDeclaration": 7725,
                                                                    "src": "2056:4:1",
                                                                    "typeDescriptions": {
                                                                      "typeIdentifier": "t_contract$_CalculateERC223_$233",
                                                                      "typeString": "contract CalculateERC223"
                                                                    }
                                                                  },
                                                                  "id": 139,
                                                                  "isConstant": false,
                                                                  "isLValue": false,
                                                                  "isPure": false,
                                                                  "lValueRequested": false,
                                                                  "memberName": "decreaseApproval",
                                                                  "nodeType": "MemberAccess",
                                                                  "referencedDeclaration": 7351,
                                                                  "src": "2056:21:1",
                                                                  "typeDescriptions": {
                                                                    "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$",
                                                                    "typeString": "function (address,uint256) external returns (bool)"
                                                                  }
                                                                },
                                                                "id": 140,
                                                                "isConstant": false,
                                                                "isLValue": false,
                                                                "isPure": false,
                                                                "lValueRequested": false,
                                                                "memberName": "selector",
                                                                "nodeType": "MemberAccess",
                                                                "referencedDeclaration": null,
                                                                "src": "2056:30:1",
                                                                "typeDescriptions": {
                                                                  "typeIdentifier": "t_bytes4",
                                                                  "typeString": "bytes4"
                                                                }
                                                              },
                                                              "src": "1625:461:1",
                                                              "typeDescriptions": {
                                                                "typeIdentifier": "t_bytes4",
                                                                "typeString": "bytes4"
                                                              }
                                                            },
                                                            "nodeType": "BinaryOperation",
                                                            "operator": "^",
                                                            "rightExpression": {
                                                              "argumentTypes": null,
                                                              "expression": {
                                                                "argumentTypes": null,
                                                                "expression": {
                                                                  "argumentTypes": null,
                                                                  "id": 142,
                                                                  "name": "this",
                                                                  "nodeType": "Identifier",
                                                                  "overloadedDeclarations": [],
                                                                  "referencedDeclaration": 7725,
                                                                  "src": "2097:4:1",
                                                                  "typeDescriptions": {
                                                                    "typeIdentifier": "t_contract$_CalculateERC223_$233",
                                                                    "typeString": "contract CalculateERC223"
                                                                  }
                                                                },
                                                                "id": 143,
                                                                "isConstant": false,
                                                                "isLValue": false,
                                                                "isPure": false,
                                                                "lValueRequested": false,
                                                                "memberName": "mintingFinished",
                                                                "nodeType": "MemberAccess",
                                                                "referencedDeclaration": 7163,
                                                                "src": "2097:20:1",
                                                                "typeDescriptions": {
                                                                  "typeIdentifier": "t_function_external_view$__$returns$_t_bool_$",
                                                                  "typeString": "function () view external returns (bool)"
                                                                }
                                                              },
                                                              "id": 144,
                                                              "isConstant": false,
                                                              "isLValue": false,
                                                              "isPure": false,
                                                              "lValueRequested": false,
                                                              "memberName": "selector",
                                                              "nodeType": "MemberAccess",
                                                              "referencedDeclaration": null,
                                                              "src": "2097:29:1",
                                                              "typeDescriptions": {
                                                                "typeIdentifier": "t_bytes4",
                                                                "typeString": "bytes4"
                                                              }
                                                            },
                                                            "src": "1625:501:1",
                                                            "typeDescriptions": {
                                                              "typeIdentifier": "t_bytes4",
                                                              "typeString": "bytes4"
                                                            }
                                                          },
                                                          "nodeType": "BinaryOperation",
                                                          "operator": "^",
                                                          "rightExpression": {
                                                            "argumentTypes": null,
                                                            "expression": {
                                                              "argumentTypes": null,
                                                              "expression": {
                                                                "argumentTypes": null,
                                                                "id": 146,
                                                                "name": "this",
                                                                "nodeType": "Identifier",
                                                                "overloadedDeclarations": [],
                                                                "referencedDeclaration": 7725,
                                                                "src": "2129:4:1",
                                                                "typeDescriptions": {
                                                                  "typeIdentifier": "t_contract$_CalculateERC223_$233",
                                                                  "typeString": "contract CalculateERC223"
                                                                }
                                                              },
                                                              "id": 147,
                                                              "isConstant": false,
                                                              "isLValue": false,
                                                              "isPure": false,
                                                              "lValueRequested": false,
                                                              "memberName": "finishMinting",
                                                              "nodeType": "MemberAccess",
                                                              "referencedDeclaration": 7249,
                                                              "src": "2129:18:1",
                                                              "typeDescriptions": {
                                                                "typeIdentifier": "t_function_external_nonpayable$__$returns$_t_bool_$",
                                                                "typeString": "function () external returns (bool)"
                                                              }
                                                            },
                                                            "id": 148,
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "memberName": "selector",
                                                            "nodeType": "MemberAccess",
                                                            "referencedDeclaration": null,
                                                            "src": "2129:27:1",
                                                            "typeDescriptions": {
                                                              "typeIdentifier": "t_bytes4",
                                                              "typeString": "bytes4"
                                                            }
                                                          },
                                                          "src": "1625:531:1",
                                                          "typeDescriptions": {
                                                            "typeIdentifier": "t_bytes4",
                                                            "typeString": "bytes4"
                                                          }
                                                        },
                                                        "nodeType": "BinaryOperation",
                                                        "operator": "^",
                                                        "rightExpression": {
                                                          "argumentTypes": null,
                                                          "expression": {
                                                            "argumentTypes": null,
                                                            "expression": {
                                                              "argumentTypes": null,
                                                              "id": 150,
                                                              "name": "this",
                                                              "nodeType": "Identifier",
                                                              "overloadedDeclarations": [],
                                                              "referencedDeclaration": 7725,
                                                              "src": "2159:4:1",
                                                              "typeDescriptions": {
                                                                "typeIdentifier": "t_contract$_CalculateERC223_$233",
                                                                "typeString": "contract CalculateERC223"
                                                              }
                                                            },
                                                            "id": 151,
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "memberName": "checkRole",
                                                            "nodeType": "MemberAccess",
                                                            "referencedDeclaration": 6461,
                                                            "src": "2159:14:1",
                                                            "typeDescriptions": {
                                                              "typeIdentifier": "t_function_external_view$_t_address_$_t_string_memory_ptr_$returns$__$",
                                                              "typeString": "function (address,string memory) view external"
                                                            }
                                                          },
                                                          "id": 152,
                                                          "isConstant": false,
                                                          "isLValue": false,
                                                          "isPure": false,
                                                          "lValueRequested": false,
                                                          "memberName": "selector",
                                                          "nodeType": "MemberAccess",
                                                          "referencedDeclaration": null,
                                                          "src": "2159:23:1",
                                                          "typeDescriptions": {
                                                            "typeIdentifier": "t_bytes4",
                                                            "typeString": "bytes4"
                                                          }
                                                        },
                                                        "src": "1625:557:1",
                                                        "typeDescriptions": {
                                                          "typeIdentifier": "t_bytes4",
                                                          "typeString": "bytes4"
                                                        }
                                                      },
                                                      "nodeType": "BinaryOperation",
                                                      "operator": "^",
                                                      "rightExpression": {
                                                        "argumentTypes": null,
                                                        "expression": {
                                                          "argumentTypes": null,
                                                          "expression": {
                                                            "argumentTypes": null,
                                                            "id": 154,
                                                            "name": "this",
                                                            "nodeType": "Identifier",
                                                            "overloadedDeclarations": [],
                                                            "referencedDeclaration": 7725,
                                                            "src": "2185:4:1",
                                                            "typeDescriptions": {
                                                              "typeIdentifier": "t_contract$_CalculateERC223_$233",
                                                              "typeString": "contract CalculateERC223"
                                                            }
                                                          },
                                                          "id": 155,
                                                          "isConstant": false,
                                                          "isLValue": false,
                                                          "isPure": false,
                                                          "lValueRequested": false,
                                                          "memberName": "hasRole",
                                                          "nodeType": "MemberAccess",
                                                          "referencedDeclaration": 6478,
                                                          "src": "2185:12:1",
                                                          "typeDescriptions": {
                                                            "typeIdentifier": "t_function_external_view$_t_address_$_t_string_memory_ptr_$returns$_t_bool_$",
                                                            "typeString": "function (address,string memory) view external returns (bool)"
                                                          }
                                                        },
                                                        "id": 156,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": false,
                                                        "lValueRequested": false,
                                                        "memberName": "selector",
                                                        "nodeType": "MemberAccess",
                                                        "referencedDeclaration": null,
                                                        "src": "2185:21:1",
                                                        "typeDescriptions": {
                                                          "typeIdentifier": "t_bytes4",
                                                          "typeString": "bytes4"
                                                        }
                                                      },
                                                      "src": "1625:581:1",
                                                      "typeDescriptions": {
                                                        "typeIdentifier": "t_bytes4",
                                                        "typeString": "bytes4"
                                                      }
                                                    },
                                                    "nodeType": "BinaryOperation",
                                                    "operator": "^",
                                                    "rightExpression": {
                                                      "argumentTypes": null,
                                                      "expression": {
                                                        "argumentTypes": null,
                                                        "expression": {
                                                          "argumentTypes": null,
                                                          "id": 158,
                                                          "name": "this",
                                                          "nodeType": "Identifier",
                                                          "overloadedDeclarations": [],
                                                          "referencedDeclaration": 7725,
                                                          "src": "2217:4:1",
                                                          "typeDescriptions": {
                                                            "typeIdentifier": "t_contract$_CalculateERC223_$233",
                                                            "typeString": "contract CalculateERC223"
                                                          }
                                                        },
                                                        "id": 159,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": false,
                                                        "lValueRequested": false,
                                                        "memberName": "ROLE_MINTER",
                                                        "nodeType": "MemberAccess",
                                                        "referencedDeclaration": 7363,
                                                        "src": "2217:16:1",
                                                        "typeDescriptions": {
                                                          "typeIdentifier": "t_function_external_view$__$returns$_t_string_memory_$",
                                                          "typeString": "function () view external returns (string memory)"
                                                        }
                                                      },
                                                      "id": 160,
                                                      "isConstant": false,
                                                      "isLValue": false,
                                                      "isPure": false,
                                                      "lValueRequested": false,
                                                      "memberName": "selector",
                                                      "nodeType": "MemberAccess",
                                                      "referencedDeclaration": null,
                                                      "src": "2217:25:1",
                                                      "typeDescriptions": {
                                                        "typeIdentifier": "t_bytes4",
                                                        "typeString": "bytes4"
                                                      }
                                                    },
                                                    "src": "1625:617:1",
                                                    "typeDescriptions": {
                                                      "typeIdentifier": "t_bytes4",
                                                      "typeString": "bytes4"
                                                    }
                                                  },
                                                  "nodeType": "BinaryOperation",
                                                  "operator": "^",
                                                  "rightExpression": {
                                                    "argumentTypes": null,
                                                    "expression": {
                                                      "argumentTypes": null,
                                                      "expression": {
                                                        "argumentTypes": null,
                                                        "id": 162,
                                                        "name": "this",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 7725,
                                                        "src": "2245:4:1",
                                                        "typeDescriptions": {
                                                          "typeIdentifier": "t_contract$_CalculateERC223_$233",
                                                          "typeString": "contract CalculateERC223"
                                                        }
                                                      },
                                                      "id": 163,
                                                      "isConstant": false,
                                                      "isLValue": false,
                                                      "isPure": false,
                                                      "lValueRequested": false,
                                                      "memberName": "addMinter",
                                                      "nodeType": "MemberAccess",
                                                      "referencedDeclaration": 7386,
                                                      "src": "2245:14:1",
                                                      "typeDescriptions": {
                                                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$",
                                                        "typeString": "function (address) external"
                                                      }
                                                    },
                                                    "id": 164,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "memberName": "selector",
                                                    "nodeType": "MemberAccess",
                                                    "referencedDeclaration": null,
                                                    "src": "2245:23:1",
                                                    "typeDescriptions": {
                                                      "typeIdentifier": "t_bytes4",
                                                      "typeString": "bytes4"
                                                    }
                                                  },
                                                  "src": "1625:643:1",
                                                  "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes4",
                                                    "typeString": "bytes4"
                                                  }
                                                },
                                                "nodeType": "BinaryOperation",
                                                "operator": "^",
                                                "rightExpression": {
                                                  "argumentTypes": null,
                                                  "expression": {
                                                    "argumentTypes": null,
                                                    "expression": {
                                                      "argumentTypes": null,
                                                      "id": 166,
                                                      "name": "this",
                                                      "nodeType": "Identifier",
                                                      "overloadedDeclarations": [],
                                                      "referencedDeclaration": 7725,
                                                      "src": "2271:4:1",
                                                      "typeDescriptions": {
                                                        "typeIdentifier": "t_contract$_CalculateERC223_$233",
                                                        "typeString": "contract CalculateERC223"
                                                      }
                                                    },
                                                    "id": 167,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "memberName": "removeMinter",
                                                    "nodeType": "MemberAccess",
                                                    "referencedDeclaration": 7399,
                                                    "src": "2271:17:1",
                                                    "typeDescriptions": {
                                                      "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$",
                                                      "typeString": "function (address) external"
                                                    }
                                                  },
                                                  "id": 168,
                                                  "isConstant": false,
                                                  "isLValue": false,
                                                  "isPure": false,
                                                  "lValueRequested": false,
                                                  "memberName": "selector",
                                                  "nodeType": "MemberAccess",
                                                  "referencedDeclaration": null,
                                                  "src": "2271:26:1",
                                                  "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes4",
                                                    "typeString": "bytes4"
                                                  }
                                                },
                                                "src": "1625:672:1",
                                                "typeDescriptions": {
                                                  "typeIdentifier": "t_bytes4",
                                                  "typeString": "bytes4"
                                                }
                                              },
                                              "nodeType": "BinaryOperation",
                                              "operator": "^",
                                              "rightExpression": {
                                                "argumentTypes": null,
                                                "expression": {
                                                  "argumentTypes": null,
                                                  "expression": {
                                                    "argumentTypes": null,
                                                    "id": 170,
                                                    "name": "this",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 7725,
                                                    "src": "2308:4:1",
                                                    "typeDescriptions": {
                                                      "typeIdentifier": "t_contract$_CalculateERC223_$233",
                                                      "typeString": "contract CalculateERC223"
                                                    }
                                                  },
                                                  "id": 171,
                                                  "isConstant": false,
                                                  "isLValue": false,
                                                  "isPure": false,
                                                  "lValueRequested": false,
                                                  "memberName": "burn",
                                                  "nodeType": "MemberAccess",
                                                  "referencedDeclaration": 1022,
                                                  "src": "2308:9:1",
                                                  "typeDescriptions": {
                                                    "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$",
                                                    "typeString": "function (uint256) external"
                                                  }
                                                },
                                                "id": 172,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "memberName": "selector",
                                                "nodeType": "MemberAccess",
                                                "referencedDeclaration": null,
                                                "src": "2308:18:1",
                                                "typeDescriptions": {
                                                  "typeIdentifier": "t_bytes4",
                                                  "typeString": "bytes4"
                                                }
                                              },
                                              "src": "1625:701:1",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_bytes4",
                                                "typeString": "bytes4"
                                              }
                                            },
                                            "nodeType": "BinaryOperation",
                                            "operator": "^",
                                            "rightExpression": {
                                              "argumentTypes": null,
                                              "expression": {
                                                "argumentTypes": null,
                                                "expression": {
                                                  "argumentTypes": null,
                                                  "id": 174,
                                                  "name": "this",
                                                  "nodeType": "Identifier",
                                                  "overloadedDeclarations": [],
                                                  "referencedDeclaration": 7725,
                                                  "src": "2329:4:1",
                                                  "typeDescriptions": {
                                                    "typeIdentifier": "t_contract$_CalculateERC223_$233",
                                                    "typeString": "contract CalculateERC223"
                                                  }
                                                },
                                                "id": 175,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "memberName": "paused",
                                                "nodeType": "MemberAccess",
                                                "referencedDeclaration": 6674,
                                                "src": "2329:11:1",
                                                "typeDescriptions": {
                                                  "typeIdentifier": "t_function_external_view$__$returns$_t_bool_$",
                                                  "typeString": "function () view external returns (bool)"
                                                }
                                              },
                                              "id": 176,
                                              "isConstant": false,
                                              "isLValue": false,
                                              "isPure": false,
                                              "lValueRequested": false,
                                              "memberName": "selector",
                                              "nodeType": "MemberAccess",
                                              "referencedDeclaration": null,
                                              "src": "2329:20:1",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_bytes4",
                                                "typeString": "bytes4"
                                              }
                                            },
                                            "src": "1625:724:1",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_bytes4",
                                              "typeString": "bytes4"
                                            }
                                          },
                                          "nodeType": "BinaryOperation",
                                          "operator": "^",
                                          "rightExpression": {
                                            "argumentTypes": null,
                                            "expression": {
                                              "argumentTypes": null,
                                              "expression": {
                                                "argumentTypes": null,
                                                "id": 178,
                                                "name": "this",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 7725,
                                                "src": "2352:4:1",
                                                "typeDescriptions": {
                                                  "typeIdentifier": "t_contract$_CalculateERC223_$233",
                                                  "typeString": "contract CalculateERC223"
                                                }
                                              },
                                              "id": 179,
                                              "isConstant": false,
                                              "isLValue": false,
                                              "isPure": false,
                                              "lValueRequested": false,
                                              "memberName": "pause",
                                              "nodeType": "MemberAccess",
                                              "referencedDeclaration": 1035,
                                              "src": "2352:10:1",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_function_external_nonpayable$__$returns$__$",
                                                "typeString": "function () external"
                                              }
                                            },
                                            "id": 180,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "memberName": "selector",
                                            "nodeType": "MemberAccess",
                                            "referencedDeclaration": null,
                                            "src": "2352:19:1",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_bytes4",
                                              "typeString": "bytes4"
                                            }
                                          },
                                          "src": "1625:746:1",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_bytes4",
                                            "typeString": "bytes4"
                                          }
                                        },
                                        "nodeType": "BinaryOperation",
                                        "operator": "^",
                                        "rightExpression": {
                                          "argumentTypes": null,
                                          "expression": {
                                            "argumentTypes": null,
                                            "expression": {
                                              "argumentTypes": null,
                                              "id": 182,
                                              "name": "this",
                                              "nodeType": "Identifier",
                                              "overloadedDeclarations": [],
                                              "referencedDeclaration": 7725,
                                              "src": "2374:4:1",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_contract$_CalculateERC223_$233",
                                                "typeString": "contract CalculateERC223"
                                              }
                                            },
                                            "id": 183,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "memberName": "unpause",
                                            "nodeType": "MemberAccess",
                                            "referencedDeclaration": 6721,
                                            "src": "2374:12:1",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_function_external_nonpayable$__$returns$__$",
                                              "typeString": "function () external"
                                            }
                                          },
                                          "id": 184,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "memberName": "selector",
                                          "nodeType": "MemberAccess",
                                          "referencedDeclaration": null,
                                          "src": "2374:21:1",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_bytes4",
                                            "typeString": "bytes4"
                                          }
                                        },
                                        "src": "1625:770:1",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_bytes4",
                                          "typeString": "bytes4"
                                        }
                                      },
                                      "nodeType": "BinaryOperation",
                                      "operator": "^",
                                      "rightExpression": {
                                        "argumentTypes": null,
                                        "expression": {
                                          "argumentTypes": null,
                                          "expression": {
                                            "argumentTypes": null,
                                            "id": 186,
                                            "name": "this",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 7725,
                                            "src": "2406:4:1",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_contract$_CalculateERC223_$233",
                                              "typeString": "contract CalculateERC223"
                                            }
                                          },
                                          "id": 187,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "memberName": "decimals",
                                          "nodeType": "MemberAccess",
                                          "referencedDeclaration": 731,
                                          "src": "2406:13:1",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_function_external_view$__$returns$_t_uint8_$",
                                            "typeString": "function () view external returns (uint8)"
                                          }
                                        },
                                        "id": 188,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "memberName": "selector",
                                        "nodeType": "MemberAccess",
                                        "referencedDeclaration": null,
                                        "src": "2406:22:1",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_bytes4",
                                          "typeString": "bytes4"
                                        }
                                      },
                                      "src": "1625:803:1",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_bytes4",
                                        "typeString": "bytes4"
                                      }
                                    },
                                    "nodeType": "BinaryOperation",
                                    "operator": "^",
                                    "rightExpression": {
                                      "argumentTypes": null,
                                      "expression": {
                                        "argumentTypes": null,
                                        "expression": {
                                          "argumentTypes": null,
                                          "id": 190,
                                          "name": "this",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 7725,
                                          "src": "2431:4:1",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_contract$_CalculateERC223_$233",
                                            "typeString": "contract CalculateERC223"
                                          }
                                        },
                                        "id": 191,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "memberName": "initialSupply",
                                        "nodeType": "MemberAccess",
                                        "referencedDeclaration": 733,
                                        "src": "2431:18:1",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$",
                                          "typeString": "function () view external returns (uint256)"
                                        }
                                      },
                                      "id": 192,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "memberName": "selector",
                                      "nodeType": "MemberAccess",
                                      "referencedDeclaration": null,
                                      "src": "2431:27:1",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_bytes4",
                                        "typeString": "bytes4"
                                      }
                                    },
                                    "src": "1625:833:1",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bytes4",
                                      "typeString": "bytes4"
                                    }
                                  },
                                  "nodeType": "BinaryOperation",
                                  "operator": "^",
                                  "rightExpression": {
                                    "argumentTypes": null,
                                    "expression": {
                                      "argumentTypes": null,
                                      "expression": {
                                        "argumentTypes": null,
                                        "id": 194,
                                        "name": "this",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 7725,
                                        "src": "2461:4:1",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_contract$_CalculateERC223_$233",
                                          "typeString": "contract CalculateERC223"
                                        }
                                      },
                                      "id": 195,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "memberName": "mintable",
                                      "nodeType": "MemberAccess",
                                      "referencedDeclaration": 735,
                                      "src": "2461:13:1",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_function_external_view$__$returns$_t_bool_$",
                                        "typeString": "function () view external returns (bool)"
                                      }
                                    },
                                    "id": 196,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "memberName": "selector",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": null,
                                    "src": "2461:22:1",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bytes4",
                                      "typeString": "bytes4"
                                    }
                                  },
                                  "src": "1625:858:1",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes4",
                                    "typeString": "bytes4"
                                  }
                                },
                                "nodeType": "BinaryOperation",
                                "operator": "^",
                                "rightExpression": {
                                  "argumentTypes": null,
                                  "expression": {
                                    "argumentTypes": null,
                                    "expression": {
                                      "argumentTypes": null,
                                      "id": 198,
                                      "name": "this",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 7725,
                                      "src": "2486:4:1",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_contract$_CalculateERC223_$233",
                                        "typeString": "contract CalculateERC223"
                                      }
                                    },
                                    "id": 199,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "memberName": "maxMintable",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": 737,
                                    "src": "2486:16:1",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$",
                                      "typeString": "function () view external returns (uint256)"
                                    }
                                  },
                                  "id": 200,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberName": "selector",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": null,
                                  "src": "2486:25:1",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes4",
                                    "typeString": "bytes4"
                                  }
                                },
                                "src": "1625:886:1",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes4",
                                  "typeString": "bytes4"
                                }
                              },
                              "nodeType": "BinaryOperation",
                              "operator": "^",
                              "rightExpression": {
                                "argumentTypes": null,
                                "expression": {
                                  "argumentTypes": null,
                                  "expression": {
                                    "argumentTypes": null,
                                    "id": 202,
                                    "name": "this",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 7725,
                                    "src": "2522:4:1",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_contract$_CalculateERC223_$233",
                                      "typeString": "contract CalculateERC223"
                                    }
                                  },
                                  "id": 203,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberName": "burnable",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 739,
                                  "src": "2522:13:1",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_external_view$__$returns$_t_bool_$",
                                    "typeString": "function () view external returns (bool)"
                                  }
                                },
                                "id": 204,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "selector",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": null,
                                "src": "2522:22:1",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes4",
                                  "typeString": "bytes4"
                                }
                              },
                              "src": "1625:919:1",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes4",
                                "typeString": "bytes4"
                              }
                            },
                            "nodeType": "BinaryOperation",
                            "operator": "^",
                            "rightExpression": {
                              "argumentTypes": null,
                              "expression": {
                                "argumentTypes": null,
                                "expression": {
                                  "argumentTypes": null,
                                  "id": 206,
                                  "name": "this",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 7725,
                                  "src": "2547:4:1",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_contract$_CalculateERC223_$233",
                                    "typeString": "contract CalculateERC223"
                                  }
                                },
                                "id": 207,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "pausable",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 741,
                                "src": "2547:13:1",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_external_view$__$returns$_t_bool_$",
                                  "typeString": "function () view external returns (bool)"
                                }
                              },
                              "id": 208,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "selector",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": null,
                              "src": "2547:22:1",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes4",
                                "typeString": "bytes4"
                              }
                            },
                            "src": "1625:944:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes4",
                              "typeString": "bytes4"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "^",
                          "rightExpression": {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "expression": {
                                "argumentTypes": null,
                                "id": 210,
                                "name": "this",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 7725,
                                "src": "2572:4:1",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_contract$_CalculateERC223_$233",
                                  "typeString": "contract CalculateERC223"
                                }
                              },
                              "id": 211,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "update",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 834,
                              "src": "2572:11:1",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_uint8_$_t_uint256_$_t_bool_$_t_bool_$_t_bool_$returns$__$",
                                "typeString": "function (string memory,string memory,uint8,uint256,bool,bool,bool) external"
                              }
                            },
                            "id": 212,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "selector",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": null,
                            "src": "2572:20:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes4",
                              "typeString": "bytes4"
                            }
                          },
                          "src": "1625:967:1",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes4",
                            "typeString": "bytes4"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "^",
                        "rightExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 214,
                              "name": "this",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 7725,
                              "src": "2595:4:1",
                              "typeDescriptions": {
                                "typeIdentifier": "t_contract$_CalculateERC223_$233",
                                "typeString": "contract CalculateERC223"
                              }
                            },
                            "id": 215,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "setMaxMintable",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 848,
                            "src": "2595:19:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$",
                              "typeString": "function (uint256) external"
                            }
                          },
                          "id": 216,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "selector",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "2595:28:1",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes4",
                            "typeString": "bytes4"
                          }
                        },
                        "src": "1625:998:1",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes4",
                          "typeString": "bytes4"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "^",
                      "rightExpression": {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "hexValue": "7472616e7366657228616464726573732c75696e743235362c627974657329",
                                "id": 220,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "string",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "2651:33:1",
                                "subdenomination": null,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_stringliteral_be45fd625bc9b4e5b6a9776611d28d19802504643713f724e2557aad60bea8cb",
                                  "typeString": "literal_string \"transfer(address,uint256,bytes)\""
                                },
                                "value": "transfer(address,uint256,bytes)"
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_stringliteral_be45fd625bc9b4e5b6a9776611d28d19802504643713f724e2557aad60bea8cb",
                                  "typeString": "literal_string \"transfer(address,uint256,bytes)\""
                                }
                              ],
                              "id": 219,
                              "name": "keccak256",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 7656,
                              "src": "2641:9:1",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
                                "typeString": "function () pure returns (bytes32)"
                              }
                            },
                            "id": 221,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "2641:44:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          ],
                          "id": 218,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "nodeType": "ElementaryTypeNameExpression",
                          "src": "2634:6:1",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_bytes4_$",
                            "typeString": "type(bytes4)"
                          },
                          "typeName": "bytes4"
                        },
                        "id": 222,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "2634:52:1",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes4",
                          "typeString": "bytes4"
                        }
                      },
                      "src": "1625:1061:1",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes4",
                        "typeString": "bytes4"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "^",
                    "rightExpression": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "hexValue": "7472616e7366657228616464726573732c75696e743235362c62797465732c737472696e6729",
                              "id": 226,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "string",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "2706:40:1",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_stringliteral_f6368f8a6319888e3536ba1e68cdcc614e310126a0c9f79abcce538357493dbd",
                                "typeString": "literal_string \"transfer(address,uint256,bytes,string)\""
                              },
                              "value": "transfer(address,uint256,bytes,string)"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_stringliteral_f6368f8a6319888e3536ba1e68cdcc614e310126a0c9f79abcce538357493dbd",
                                "typeString": "literal_string \"transfer(address,uint256,bytes,string)\""
                              }
                            ],
                            "id": 225,
                            "name": "keccak256",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7656,
                            "src": "2696:9:1",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
                              "typeString": "function () pure returns (bytes32)"
                            }
                          },
                          "id": 227,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "2696:51:1",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        ],
                        "id": 224,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "nodeType": "ElementaryTypeNameExpression",
                        "src": "2689:6:1",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_bytes4_$",
                          "typeString": "type(bytes4)"
                        },
                        "typeName": "bytes4"
                      },
                      "id": 228,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "typeConversion",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "2689:59:1",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes4",
                        "typeString": "bytes4"
                      }
                    },
                    "src": "1625:1123:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "functionReturnParameters": 80,
                  "id": 230,
                  "nodeType": "Return",
                  "src": "1618:1130:1"
                }
              ]
            },
            "documentation": null,
            "id": 232,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "CalculateSelector",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 77,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "293:2:1"
            },
            "payable": false,
            "returnParameters": {
              "id": 80,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 79,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 232,
                  "src": "317:6:1",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes4",
                    "typeString": "bytes4"
                  },
                  "typeName": {
                    "id": 78,
                    "name": "bytes4",
                    "nodeType": "ElementaryTypeName",
                    "src": "317:6:1",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "316:8:1"
            },
            "scope": 233,
            "src": "267:2499:1",
            "stateMutability": "pure",
            "superFunction": null,
            "visibility": "public"
          }
        ],
        "scope": 234,
        "src": "75:2694:1"
      }
    ],
    "src": "0:2770:1"
  },
  "compiler": {
    "name": "solc",
    "version": "0.4.24+commit.e67f0147.Emscripten.clang"
  },
  "networks": {},
  "schemaVersion": "2.0.1",
  "updatedAt": "2018-10-24T12:40:22.220Z"
}