{
  "contractName": "ForkonomicETTF",
  "abi": [
    {
      "constant": true,
      "inputs": [
        {
          "name": "",
          "type": "bytes32"
        },
        {
          "name": "",
          "type": "address"
        }
      ],
      "name": "fundHoldingChange",
      "outputs": [
        {
          "name": "",
          "type": "int256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function",
      "signature": "0x06d1643b"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "name",
      "outputs": [
        {
          "name": "",
          "type": "string"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function",
      "signature": "0x06fdde03"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "fromAddr",
          "type": "address"
        },
        {
          "name": "toAddr",
          "type": "address"
        },
        {
          "name": "amount",
          "type": "uint256"
        },
        {
          "name": "branch",
          "type": "bytes32"
        },
        {
          "name": "fromBox",
          "type": "bytes32"
        },
        {
          "name": "toBox",
          "type": "bytes32"
        }
      ],
      "name": "boxTransferFrom",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function",
      "signature": "0x17d287e0"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "totalSupply",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function",
      "signature": "0x18160ddd"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "addr",
          "type": "address"
        },
        {
          "name": "addrTo",
          "type": "address"
        },
        {
          "name": "amount",
          "type": "uint256"
        },
        {
          "name": "branch",
          "type": "bytes32"
        },
        {
          "name": "fromBox",
          "type": "bytes32"
        }
      ],
      "name": "boxTransferFrom",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function",
      "signature": "0x1b6672d2"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "owner",
          "type": "address"
        },
        {
          "name": "spender",
          "type": "address"
        },
        {
          "name": "branch",
          "type": "bytes32"
        }
      ],
      "name": "allowance",
      "outputs": [
        {
          "name": "remaining",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function",
      "signature": "0x1c8d5d38"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "decimals",
      "outputs": [
        {
          "name": "",
          "type": "uint8"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function",
      "signature": "0x313ce567"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "owner",
          "type": "address"
        },
        {
          "name": "box",
          "type": "bytes32"
        },
        {
          "name": "branchHash",
          "type": "bytes32"
        },
        {
          "name": "earliestPossibleBranch",
          "type": "bytes32"
        }
      ],
      "name": "recordedBoxWithdrawalAmount",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function",
      "signature": "0x38487803"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "from",
          "type": "address"
        },
        {
          "name": "to",
          "type": "address"
        },
        {
          "name": "amount",
          "type": "uint256"
        },
        {
          "name": "branch",
          "type": "bytes32"
        }
      ],
      "name": "transferFrom",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function",
      "signature": "0x401e3367"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "minTimeout",
      "outputs": [
        {
          "name": "",
          "type": "uint32"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function",
      "signature": "0x4cf71be4"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "addr",
          "type": "address"
        },
        {
          "name": "branch",
          "type": "bytes32"
        }
      ],
      "name": "balanceOf",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function",
      "signature": "0x4d30b6be"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "realityCheck",
      "outputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function",
      "signature": "0x50990880"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "addr",
          "type": "address"
        },
        {
          "name": "amount",
          "type": "uint256"
        },
        {
          "name": "branch",
          "type": "bytes32"
        }
      ],
      "name": "transfer",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function",
      "signature": "0x57cfeeee"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "acct",
          "type": "bytes32"
        },
        {
          "name": "minBalance",
          "type": "uint256"
        },
        {
          "name": "branchHash",
          "type": "bytes32"
        }
      ],
      "name": "_isAmountSpendable",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function",
      "signature": "0x66422c47"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "addr",
          "type": "address"
        },
        {
          "name": "amount",
          "type": "uint256"
        },
        {
          "name": "branch",
          "type": "bytes32"
        },
        {
          "name": "fromBox",
          "type": "bytes32"
        },
        {
          "name": "toBox",
          "type": "bytes32"
        }
      ],
      "name": "boxTransfer",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function",
      "signature": "0x6dd265a5"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "",
          "type": "bytes32"
        }
      ],
      "name": "fETTFbalanceChange",
      "outputs": [
        {
          "name": "",
          "type": "int256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function",
      "signature": "0x745e94f6"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "templateId",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function",
      "signature": "0x7aa77f29"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "owner",
          "type": "address"
        },
        {
          "name": "box",
          "type": "bytes32"
        },
        {
          "name": "amount",
          "type": "uint256"
        },
        {
          "name": "branch",
          "type": "bytes32"
        }
      ],
      "name": "recordBoxWithdrawal",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function",
      "signature": "0x8097c95e"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_spender",
          "type": "address"
        },
        {
          "name": "_amount",
          "type": "uint256"
        },
        {
          "name": "_branch",
          "type": "bytes32"
        }
      ],
      "name": "approve",
      "outputs": [
        {
          "name": "success",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function",
      "signature": "0x8180f2fc"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "minBond",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function",
      "signature": "0x831518b7"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "addr",
          "type": "address"
        },
        {
          "name": "minBalance",
          "type": "uint256"
        },
        {
          "name": "branchHash",
          "type": "bytes32"
        }
      ],
      "name": "isAmountSpendable",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function",
      "signature": "0x911651ac"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "symbol",
      "outputs": [
        {
          "name": "",
          "type": "string"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function",
      "signature": "0x95d89b41"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "",
          "type": "bytes32"
        },
        {
          "name": "",
          "type": "bytes32"
        },
        {
          "name": "",
          "type": "bytes32"
        }
      ],
      "name": "allowed",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function",
      "signature": "0x99086183"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "owner",
          "type": "address"
        },
        {
          "name": "spender",
          "type": "address"
        },
        {
          "name": "branch",
          "type": "bytes32"
        },
        {
          "name": "senderBox",
          "type": "bytes32"
        },
        {
          "name": "receiverBox",
          "type": "bytes32"
        }
      ],
      "name": "allowanceBox",
      "outputs": [
        {
          "name": "remaining",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function",
      "signature": "0xc3471979"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "openingTs",
      "outputs": [
        {
          "name": "",
          "type": "uint32"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function",
      "signature": "0xc7049657"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "owner",
          "type": "address"
        },
        {
          "name": "box",
          "type": "bytes32"
        },
        {
          "name": "branchHash",
          "type": "bytes32"
        },
        {
          "name": "earliestPossibleBranch",
          "type": "bytes32"
        }
      ],
      "name": "hasBoxWithdrawal",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function",
      "signature": "0xcf54a3d3"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "addr",
          "type": "address"
        },
        {
          "name": "minBalance",
          "type": "uint256"
        },
        {
          "name": "branchHash",
          "type": "bytes32"
        },
        {
          "name": "box",
          "type": "bytes32"
        }
      ],
      "name": "isAmountSpendableBox",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function",
      "signature": "0xd0c91487"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_spender",
          "type": "address"
        },
        {
          "name": "_amount",
          "type": "uint256"
        },
        {
          "name": "_branch",
          "type": "bytes32"
        },
        {
          "name": "fromBox",
          "type": "bytes32"
        },
        {
          "name": "spenderBox",
          "type": "bytes32"
        }
      ],
      "name": "approveBox",
      "outputs": [
        {
          "name": "success",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function",
      "signature": "0xd1fe5313"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "fSystem",
      "outputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function",
      "signature": "0xd440796e"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "",
          "type": "bytes32"
        }
      ],
      "name": "lastDebitWindows",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function",
      "signature": "0xe10db511"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "addr",
          "type": "address"
        },
        {
          "name": "branch",
          "type": "bytes32"
        },
        {
          "name": "acct",
          "type": "bytes32"
        }
      ],
      "name": "balanceOfBox",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function",
      "signature": "0xf2482e2b"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "minQuestionFunding",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function",
      "signature": "0xf2c2b14e"
    },
    {
      "inputs": [
        {
          "name": "realityCheck_",
          "type": "address"
        },
        {
          "name": "fSystem_",
          "type": "address"
        },
        {
          "name": "funding",
          "type": "address[]"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "constructor",
      "signature": "constructor"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "name": "branch",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "name": "forkonomicToken",
          "type": "address"
        },
        {
          "indexed": false,
          "name": "balanceChange_",
          "type": "int256"
        },
        {
          "indexed": false,
          "name": "compensation",
          "type": "int256"
        },
        {
          "indexed": false,
          "name": "sender",
          "type": "address"
        }
      ],
      "name": "NewDealProposed",
      "type": "event",
      "signature": "0xb5314ced9a7db33e50e16bfc3b75ec0c80852fc201d0423cd178d16f0cb5033d"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "_owner",
          "type": "address"
        },
        {
          "indexed": false,
          "name": "ownerBox",
          "type": "bytes32"
        },
        {
          "indexed": true,
          "name": "_spender",
          "type": "address"
        },
        {
          "indexed": false,
          "name": "spenderBox",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "name": "_value",
          "type": "uint256"
        },
        {
          "indexed": false,
          "name": "branch",
          "type": "bytes32"
        }
      ],
      "name": "Approval",
      "type": "event",
      "signature": "0x3676da71ebbe2008b6d2bf52b4ab0678cb2166150551071ce4f784087bec6186"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "from",
          "type": "address"
        },
        {
          "indexed": false,
          "name": "to",
          "type": "address"
        },
        {
          "indexed": false,
          "name": "fromBox",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "name": "toBox",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "name": "value",
          "type": "uint256"
        },
        {
          "indexed": false,
          "name": "branch",
          "type": "bytes32"
        }
      ],
      "name": "Transfer",
      "type": "event",
      "signature": "0x0c6b0e76e483dcdd5bb0b263cc6619434b90af2c8728f59df72be0f801203dbd"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "branch",
          "type": "bytes32"
        },
        {
          "name": "forkonomicToken",
          "type": "address"
        },
        {
          "name": "balanceChange",
          "type": "int256"
        },
        {
          "name": "compensation",
          "type": "int256"
        },
        {
          "name": "arbitrator",
          "type": "address"
        },
        {
          "name": "fromBox",
          "type": "bytes32"
        }
      ],
      "name": "proposeInvestment",
      "outputs": [
        {
          "name": "",
          "type": "bytes32"
        }
      ],
      "payable": true,
      "stateMutability": "payable",
      "type": "function",
      "signature": "0x43ae90fe"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "questionId",
          "type": "bytes32"
        },
        {
          "name": "executionbranch",
          "type": "bytes32"
        },
        {
          "name": "originalbranch",
          "type": "bytes32"
        },
        {
          "name": "forkonomicToken",
          "type": "address"
        },
        {
          "name": "balanceChange_",
          "type": "int256"
        },
        {
          "name": "compensation",
          "type": "int256"
        },
        {
          "name": "arbitrator",
          "type": "address"
        },
        {
          "name": "fromBox",
          "type": "bytes32"
        }
      ],
      "name": "executeInvestmentRequest",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function",
      "signature": "0x5d59d45c"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "branch",
          "type": "bytes32"
        },
        {
          "name": "amount",
          "type": "uint256"
        },
        {
          "name": "forkonomicTokens",
          "type": "address[]"
        }
      ],
      "name": "redeemRealityFundTokens",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function",
      "signature": "0x1db3db1c"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "data",
          "type": "bytes32"
        }
      ],
      "name": "bytes32ToString",
      "outputs": [
        {
          "name": "",
          "type": "string"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function",
      "signature": "0x9201de55"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "branch",
          "type": "bytes32"
        },
        {
          "name": "forkonomicToken",
          "type": "address"
        },
        {
          "name": "balanceChange",
          "type": "int256"
        },
        {
          "name": "compensation",
          "type": "int256"
        }
      ],
      "name": "calcDealBytes",
      "outputs": [
        {
          "name": "",
          "type": "bytes32"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function",
      "signature": "0x1f07c497"
    }
  ],
  "bytecode": "0x6080604052600060095564012a05f200600a55600b805463ffffffff19166103e81790556611c37937e08000600c553480156200003b57600080fd5b50604051620035ba380380620035ba83398101604081815282516020808501518386015160058054600160a060020a031916600160a060020a0380851691909117918290557f176b6f0100000000000000000000000000000000000000000000000000000000885295519497929691909201948694869460009485948594859492169263176b6f019260048084019382900301818787803b158015620000e057600080fd5b505af1158015620000f5573d6000803e3d6000fd5b505050506040513d60208110156200010c57600080fd5b505185519094509250600c83106200018557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f20746f6f206d616e792066756e64696e67206163636f756e7473000000000000604482015290519081900360640190fd5b600091505b8282101562000295578482815181101515620001a257fe5b9060200190602002015160006040516020018083600160a060020a0316600160a060020a03166c010000000000000000000000000281526014018260001916600019168152602001925050506040516020818303038152906040526040518082805190602001908083835b602083106200022e5780518252601f1990920191602091820191016200020d565b51815160209384036101000a6000190180199092169116179052604080519290940182900390912060008a8152808352848120828252909252929020805465befe6f672000908101909155600480549091019055506001949094019392506200018a915050565b505060068054600160a060020a03909816600160a060020a0319909816979097179096555050505050506132eb80620002cf6000396000f3006080604052600436106101b35763ffffffff60e060020a60003504166306d1643b81146101b857806306fdde03146101ee57806317d287e01461027857806318160ddd146102bf5780631b6672d2146102d45780631c8d5d38146103045780631db3db1c1461032e5780631f07c4971461038e578063313ce567146103b857806338487803146103e3578063401e33671461040d57806343ae90fe1461043a5780634cf71be4146104625780634d30b6be1461049057806350990880146104b457806357cfeeee146104e55780635d59d45c1461050c57806366422c47146105475780636dd265a514610565578063745e94f6146105925780637aa77f29146105aa5780638097c95e146105bf5780638180f2fc146105e9578063831518b714610610578063911651ac146106255780639201de551461064c57806395d89b41146106645780639908618314610679578063c347197914610697578063c7049657146106c7578063cf54a3d3146106dc578063d0c9148714610706578063d1fe531314610730578063d440796e1461075d578063e10db51114610772578063f2482e2b1461078a578063f2c2b14e146107b1575b600080fd5b3480156101c457600080fd5b506101dc600435600160a060020a03602435166107c6565b60408051918252519081900360200190f35b3480156101fa57600080fd5b506102036107e3565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561023d578181015183820152602001610225565b50505050905090810190601f16801561026a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561028457600080fd5b506102ab600160a060020a036004358116906024351660443560643560843560a43561081a565b604080519115158252519081900360200190f35b3480156102cb57600080fd5b506101dc610dae565b3480156102e057600080fd5b506102ab600160a060020a0360043581169060243516604435606435608435610db4565b34801561031057600080fd5b506101dc600160a060020a0360043581169060243516604435610dcf565b34801561033a57600080fd5b50604080516020600460443581810135838102808601850190965280855261038c958335956024803596369695606495939492019291829185019084908082843750949750610de79650505050505050565b005b34801561039a57600080fd5b506101dc600435600160a060020a0360243516604435606435611196565b3480156103c457600080fd5b506103cd61124d565b6040805160ff9092168252519081900360200190f35b3480156103ef57600080fd5b506101dc600160a060020a0360043516602435604435606435611252565b34801561041957600080fd5b506102ab600160a060020a036004358116906024351660443560643561142b565b6101dc600435600160a060020a0360243581169060443590606435906084351660a435611445565b34801561046e57600080fd5b506104776118d0565b6040805163ffffffff9092168252519081900360200190f35b34801561049c57600080fd5b506101dc600160a060020a03600435166024356118dc565b3480156104c057600080fd5b506104c96118f1565b60408051600160a060020a039092168252519081900360200190f35b3480156104f157600080fd5b506102ab600160a060020a0360043516602435604435611900565b34801561051857600080fd5b5061038c600435602435604435600160a060020a036064358116906084359060a4359060c4351660e435611910565b34801561055357600080fd5b506102ab6004356024356044356122a3565b34801561057157600080fd5b506102ab600160a060020a03600435166024356044356064356084356123ce565b34801561059e57600080fd5b506101dc60043561288d565b3480156105b657600080fd5b506101dc61289f565b3480156105cb57600080fd5b506102ab600160a060020a03600435166024356044356064356128a5565b3480156105f557600080fd5b506102ab600160a060020a0360043516602435604435612a58565b34801561061c57600080fd5b506101dc612a68565b34801561063157600080fd5b506102ab600160a060020a0360043516602435604435612a6e565b34801561065857600080fd5b50610203600435612b0f565b34801561067057600080fd5b50610203612bcd565b34801561068557600080fd5b506101dc600435602435604435612c04565b3480156106a357600080fd5b506101dc600160a060020a0360043581169060243516604435606435608435612c27565b3480156106d357600080fd5b50610477612d8d565b3480156106e857600080fd5b506102ab600160a060020a0360043516602435604435606435612da1565b34801561071257600080fd5b506102ab600160a060020a0360043516602435604435606435612f12565b34801561073c57600080fd5b506102ab600160a060020a0360043516602435604435606435608435612fb2565b34801561076957600080fd5b506104c9613149565b34801561077e57600080fd5b506101dc600435613158565b34801561079657600080fd5b506101dc600160a060020a036004351660243560443561316a565b3480156107bd57600080fd5b506101dc6132a7565b600760209081526000928352604080842090915290825290205481565b60408051808201909152600f81527f466f726b6f6e6f6d696373455454460000000000000000000000000000000000602082015281565b60008060008060008a876040516020018083600160a060020a0316600160a060020a0316606060020a0281526014018260001916600019168152602001925050506040516020818303038152906040526040518082805190602001908083835b602083106108995780518252601f19909201916020918201910161087a565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020935089866040516020018083600160a060020a0316600160a060020a0316606060020a0281526014018260001916600019168152602001925050506040516020818303038152906040526040518082805190602001908083835b6020831061093f5780518252601f199092019160209182019101610920565b51815160209384036101000a60001901801990921691161790526040805192909401829003822033606060020a028383015260348084018e90528551808503909101815260549093019485905282519099509195509293508392850191508083835b602083106109c05780518252601f1990920191602091820191016109a1565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209150600560009054906101000a9004600160a060020a0316600160a060020a0316636ceccf73896040518263ffffffff1660e060020a028152600401808260001916600019168152602001915050602060405180830381600087803b158015610a5557600080fd5b505af1158015610a69573d6000803e3d6000fd5b505050506040513d6020811015610a7f57600080fd5b5051600085815260036020908152604080832086845282528083208c8452909152902054909150891115610ab257600080fd5b660775f05a074000891115610b11576040805160e560020a62461bcd02815260206004820152601f60248201527f20616d6f756e7420686967686572207468616e20746f74616c537570706c7900604482015290519081900360640190fd5b600554604080517f4dd8aa05000000000000000000000000000000000000000000000000000000008152600481018b90529051600160a060020a0390921691634dd8aa05916024808201926020929091908290030181600087803b158015610b7857600080fd5b505af1158015610b8c573d6000803e3d6000fd5b505050506040513d6020811015610ba257600080fd5b50511515610bfa576040805160e560020a62461bcd02815260206004820152601160248201527f6272616e6368206d757374206578697374000000000000000000000000000000604482015290519081900360640190fd5b600084815260026020526040902054811015610c60576040805160e560020a62461bcd02815260206004820152601860248201527f6465626974732063616e7420676f206261636b77617264730000000000000000604482015290519081900360640190fd5b610c6b848a8a6122a3565b1515610cc1576040805160e560020a62461bcd02815260206004820152601860248201527f616d6f756e74206d757374206265207370656e6461626c650000000000000000604482015290519081900360640190fd5b60008481526002602090815260408083208490558a8352828252808320878452825280832080548d9003905585835280832080548d0190558683526003825280832085845282528083208b8452909152902054610d1e908a6132ad565b600085815260036020908152604080832086845282528083208c84528252808320939093558251600160a060020a038e8116825291810183905280840192909252606082018c9052608082018b90529151918d16917f0c6b0e76e483dcdd5bb0b263cc6619434b90af2c8728f59df72be0f801203dbd9181900360a00190a25060019a9950505050505050505050565b60045481565b6000610dc58686868686600061081a565b9695505050505050565b6000610ddf848484600080612c27565b949350505050565b600080600080610df93330888a61142b565b1515610e75576040805160e560020a62461bcd02815260206004820152603060248201527f7472616e7366657220646964206e6f74207061737320696e2072656465656d5260448201527f65616c69747946756e64546f6b656e7300000000000000000000000000000000606482015290519081900360840190fd5b600093508692505b600560009054906101000a9004600160a060020a0316600160a060020a031663176b6f016040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015610ed057600080fd5b505af1158015610ee4573d6000803e3d6000fd5b505050506040513d6020811015610efa57600080fd5b50518314610f9957600083815260086020908152604080832054600554825160e060020a63f36b43cb0281526004810189905292519890910197600160a060020a039091169363f36b43cb93602480850194919392918390030190829087803b158015610f6657600080fd5b505af1158015610f7a573d6000803e3d6000fd5b505050506040513d6020811015610f9057600080fd5b50519250610e7d565b600091505b845182101561118d578482815181101515610fb557fe5b6020908102909101810151604080517f4d30b6be000000000000000000000000000000000000000000000000000000008152306004820152602481018b90529051600160a060020a0390921692634d30b6be926044808401938290030181600087803b15801561102457600080fd5b505af1158015611038573d6000803e3d6000fd5b505050506040513d602081101561104e57600080fd5b5051855190915085908390811061106157fe5b90602001906020020151600160a060020a03166357cfeeee3386848a0281151561108757fe5b6040805160e060020a63ffffffff8716028152600160a060020a0390941660048501529190046024830152604482018b90525160648083019260209291908290030181600087803b1580156110db57600080fd5b505af11580156110ef573d6000803e3d6000fd5b505050506040513d602081101561110557600080fd5b50511515611182576040805160e560020a62461bcd028152602060048201526024808201527f7472616e73666572206f662066756e647320776173206e6f742073756363657360448201527f7366756c00000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600190910190610f9e565b50505050505050565b604080516020808201879052606060020a600160a060020a0387168102838501526054830186905260748301859052330260948301528251608881840301815260a8909201928390528151600093849392909182918401908083835b602083106112115780518252601f1990920191602091820191016111f2565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090508091505b50949350505050565b601281565b60408051606060020a338102602080840191909152600160a060020a0388169091026034830152604880830187905283518084039091018152606890920192839052815160009384938493909282918401908083835b602083106112c75780518252601f1990920191602091820191016112a8565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209150600090505b841580159061130a5750848414155b156113ae576000858152600160209081526040808320858452825280832054600554825160e060020a63f36b43cb028152600481018b905292519590910194600160a060020a039091169363f36b43cb93602480850194919392918390030190829087803b15801561137b57600080fd5b505af115801561138f573d6000803e3d6000fd5b505050506040513d60208110156113a557600080fd5b505194506112fb565b841515610dc5576040805160e560020a62461bcd02815260206004820152602f60248201527f206272616e636820686173682073686f756c64206e6f7420666f6c6c6f77207460448201527f6f20746865204e554c4c5f484153480000000000000000000000000000000000606482015290519081900360840190fd5b600061143c8585858560008061081a565b95945050505050565b600b805467ffffffff0000000019166401000000004262278d000163ffffffff1602179055604080516020808201899052600160a060020a038816606060020a908102838501526054830188905260748301879052330260948301528251808303608801815260a89092019283905281516000938493606093859391929182918401908083835b602083106114eb5780518252601f1990920191602091820191016114cc565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020925061152383612b0f565b60405160200180807f46726f6d20616c6c206f666665727320666f72207468652066455454462c207481526020017f686520666f6c6c6f77696e67206465616c207761732074686520626573743a00815250603f0182805190602001908083835b602083106115a35780518252601f199092019160209182019101611584565b6001836020036101000a038019825116818451168082178552505050505050905001807f3f000000000000000000000000000000000000000000000000000000000000008152506001019150506040516020818303038152906040529150600660009054906101000a9004600160a060020a0316600160a060020a031663762c38fd65048c27395000600954858a600b60009054906101000a900463ffffffff16600b60049054906101000a900463ffffffff1660006040518863ffffffff1660e060020a028152600401808781526020018060200186600160a060020a0316600160a060020a031681526020018563ffffffff1663ffffffff1681526020018463ffffffff1663ffffffff168152602001838152602001828103825287818151815260200191508051906020019080838360005b838110156116f05781810151838201526020016116d8565b50505050905090810190601f16801561171d5780820380516001836020036101000a031916815260200191505b509750505050505050506020604051808303818588803b15801561174057600080fd5b505af1158015611754573d6000803e3d6000fd5b50505050506040513d602081101561176b57600080fd5b505190506000881315611844576000871261178557600080fd5b604080517f17d287e0000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481018a9052606481018c90526084810187905260a481018590529051600160a060020a038b16916317d287e09160c48083019260209291908290030181600087803b15801561180857600080fd5b505af115801561181c573d6000803e3d6000fd5b505050506040513d602081101561183257600080fd5b5051151561183f57600080fd5b61185f565b6000871361185157600080fd5b61185d3330898d61142b565b505b600c5434101561186e57600080fd5b604080518b8152600160a060020a038b1660208201528082018a90526060810189905233608082015290517fb5314ced9a7db33e50e16bfc3b75ec0c80852fc201d0423cd178d16f0cb5033d9181900360a00190a19998505050505050505050565b600b5463ffffffff1681565b60006118ea8383600061316a565b9392505050565b600654600160a060020a031681565b6000610ddf8484846000806123ce565b600554604080517f406edd3600000000000000000000000000000000000000000000000000000000815260048101899052602481018a9052905160009260609284928392600160a060020a03169163406edd3691604480830192602092919082900301818787803b15801561198457600080fd5b505af1158015611998573d6000803e3d6000fd5b505050506040513d60208110156119ae57600080fd5b50511515611a2c576040805160e560020a62461bcd02815260206004820152602960248201527f206272616e6368206973206e6f742061206368696c64206f66206f726967696e60448201527f616c206272616e63680000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600554604080517f49469146000000000000000000000000000000000000000000000000000000008152600160a060020a038981166004830152602482018f90529151919092169163494691469160448083019260209291908290030181600087803b158015611a9b57600080fd5b505af1158015611aaf573d6000803e3d6000fd5b505050506040513d6020811015611ac557600080fd5b50511515611b1d576040805160e560020a62461bcd02815260206004820152601e60248201527f61726269747261746f72206973206e6f742077686974652d6c69737465640000604482015290519081900360640190fd5b600560009054906101000a9004600160a060020a0316600160a060020a0316632667404b600660009054906101000a9004600160a060020a0316600160a060020a031663acae8f4e8f6040518263ffffffff1660e060020a028152600401808260001916600019168152602001915050602060405180830381600087803b158015611ba757600080fd5b505af1158015611bbb573d6000803e3d6000fd5b505050506040513d6020811015611bd157600080fd5b50516040805163ffffffff84811660e060020a0282529092166004830152602482018f90525160448083019260209291908290030181600087803b158015611c1857600080fd5b505af1158015611c2c573d6000803e3d6000fd5b505050506040513d6020811015611c4257600080fd5b50511515611c9a576040805160e560020a62461bcd02815260206004820152601d60248201527f77696e646f77202b2074696d6520206973206e6f7420636f7272656374000000604482015290519081900360640190fd5b6040805160208082018d9052606060020a600160a060020a038d16810283850152605483018c9052607483018b9052330260948301528251608881840301815260a890920192839052815191929182918401908083835b60208310611d105780518252601f199092019160209182019101611cf1565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209350611d4884612b0f565b60405160200180807f46726f6d20616c6c206f666665727320666f72207468652066455454462c207481526020017f686520666f6c6c6f77696e67206465616c207761732074686520626573743a00815250603f0182805190602001908083835b60208310611dc85780518252601f199092019160209182019101611da9565b51815160209384036101000a60001901801990921691161790527f3f000000000000000000000000000000000000000000000000000000000000009190930190815260408051808303601e1901815260018301909152600954600b546021840182815264010000000090910463ffffffff1660e060020a810260418601528351939b5091975090955089949093506045909201918401908083835b60208310611e825780518252601f199092019160209182019101611e63565b6001836020036101000a03801982511681845116808217855250505050505090500193505050506040516020818303038152906040526040518082805190602001908083835b60208310611ee75780518252601f199092019160209182019101611ec8565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209150600660009054906101000a9004600160a060020a0316600160a060020a03166312a203c38d8489600b60009054906101000a900463ffffffff16600a546040518663ffffffff1660e060020a028152600401808660001916600019168152602001856000191660001916815260200184600160a060020a0316600160a060020a031681526020018363ffffffff1663ffffffff16815260200182815260200195505050505050602060405180830381600087803b158015611fd657600080fd5b505af1158015611fea573d6000803e3d6000fd5b505050506040513d602081101561200057600080fd5b505190508015156120e85760008813156120cd57604080517f6dd265a5000000000000000000000000000000000000000000000000000000008152336004820152602481018a9052604481018d905260648101869052608481018790529051600160a060020a038b1691636dd265a59160a48083019260209291908290030181600087803b15801561209157600080fd5b505af11580156120a5573d6000803e3d6000fd5b505050506040513d60208110156120bb57600080fd5b505115156120c857600080fd5b6120e3565b6120d833888d611900565b15156120e357600080fd5b612295565b60008813156121da576120fe3360008d8d612da1565b1561210857600080fd5b60008b8152602081815260408083208151606060020a33028185015260348082018690528351808303909101815260549091019283905280518c959294929391928291908401908083835b602083106121725780518252601f199092019160209182019101612153565b51815160001960209485036101000a019081169019919091161790526040805194909201849003909320865285830196909652509284016000908120805490960190955550508d83526008905281208054890190556121d4903390898e6128a5565b50612295565b604080517f57cfeeee000000000000000000000000000000000000000000000000000000008152336004820152602481018a9052604481018d90529051600160a060020a038b16916357cfeeee9160648083019260209291908290030181600087803b15801561224957600080fd5b505af115801561225d573d6000803e3d6000fd5b505050506040513d602081101561227357600080fd5b5051151561228057600080fd5b60008b81526008602052604090208054880190555b505050505050505050505050565b60008080660775f05a074000851115612306576040805160e560020a62461bcd02815260206004820152601e60248201527f616d6f756e7420626967676572207468616e20746f74616c537570706c790000604482015290519081900360640190fd5b5060009050835b83156123c057600084815260208181526040808320898452825280832054600554825160e060020a63f36b43cb028152600481018a905292519690910195600160a060020a039091169363f36b43cb93602480850194919392918390030190829087803b15801561237d57600080fd5b505af1158015612391573d6000803e3d6000fd5b505050506040513d60208110156123a757600080fd5b505193508082126123bb57600192506123c5565b61230d565b600092505b50509392505050565b600554604080517f6ceccf7300000000000000000000000000000000000000000000000000000000815260048101869052905160009283928392600160a060020a0390921691636ceccf739160248082019260209290919082900301818787803b15801561243b57600080fd5b505af115801561244f573d6000803e3d6000fd5b505050506040513d602081101561246557600080fd5b50519150660775f05a0740008711156124ee576040805160e560020a62461bcd02815260206004820152602760248201527f2073656e64696e6720616d6f756e7420626967676572207468616e20746f746160448201527f6c537570706c7900000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600554604080517f4dd8aa05000000000000000000000000000000000000000000000000000000008152600481018990529051600160a060020a0390921691634dd8aa05916024808201926020929091908290030181600087803b15801561255557600080fd5b505af1158015612569573d6000803e3d6000fd5b505050506040513d602081101561257f57600080fd5b505115156125d7576040805160e560020a62461bcd02815260206004820152601260248201527f206272616e6368206d7573742065786973740000000000000000000000000000604482015290519081900360640190fd5b60408051606060020a3302602080830191909152603480830189905283518084039091018152605490920192839052815191929182918401908083835b602083106126335780518252601f199092019160209182019101612614565b51815160209384036101000a6000190180199092169116179052604080519290940182900390912060008181526002909252929020549194505084101591506126ee9050576040805160e560020a62461bcd02815260206004820152602a60248201527f206272616e636857696e646f77203e3d206c617374446562697457696e646f7760448201527f735b6163636f756e745d00000000000000000000000000000000000000000000606482015290519081900360840190fd5b6126f98188886122a3565b151561274f576040805160e560020a62461bcd02815260206004820152601960248201527f20616d6f756e7420776173206e6f74207370656e6461626c6500000000000000604482015290519081900360640190fd5b600081815260026020908152604080832085905588835282825280832084845280835281842080548c900390558984528383528151606060020a600160a060020a038e16028185015260348082018a90528351808303909101815260549091019283905280518c959294929391928291908401908083835b602083106127e65780518252601f1990920191602091820191016127c7565b51815160209384036101000a6000190180199092169116179052604080519290940182900390912086528581019690965250928301600020805495909501909455508051338152918201889052818101879052606082018a90526080820189905251600160a060020a038b1692507f0c6b0e76e483dcdd5bb0b263cc6619434b90af2c8728f59df72be0f801203dbd9160a0908290030190a2506001979650505050505050565b60086020526000908152604090205481565b60095481565b600554604080517f4dd8aa05000000000000000000000000000000000000000000000000000000008152600481018490529051600092600160a060020a031691634dd8aa0591602480830192602092919082900301818787803b15801561290b57600080fd5b505af115801561291f573d6000803e3d6000fd5b505050506040513d602081101561293557600080fd5b5051151561298d576040805160e560020a62461bcd02815260206004820152601160248201527f6272616e6368206d757374206578697374000000000000000000000000000000604482015290519081900360640190fd5b60008281526001602090815260408083208151606060020a33810282860152600160a060020a038b1602603482015260488082018a905283518083039091018152606890910192839052805188959294929391928291908401908083835b60208310612a0a5780518252601f1990920191602091820191016129eb565b51815160209384036101000a60001901801990921691161790526040805192909401829003909120865285019590955292909201600020805494909401909355506001979650505050505050565b6000610ddf848484600080612fb2565b600a5481565b60408051606060020a600160a060020a03861602602080830191909152600060348084018290528451808503909101815260549093019384905282519093610ddf9392909182918401908083835b60208310612adb5780518252601f199092019160209182019101612abc565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902084846122a3565b604080516020808252818301909252606091829160009182919080820161040080388339019050509250600091505b6020821015612bc457506008810260020a84027fff00000000000000000000000000000000000000000000000000000000000000811615612bb957808383815181101515612b8857fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053505b600190910190612b3e565b50909392505050565b60408051808201909152600581527f4645545446000000000000000000000000000000000000000000000000000000602082015281565b600360209081526000938452604080852082529284528284209052825290205481565b60408051606060020a600160a060020a03871602602080830191909152603480830186905283518084039091018152605490920192839052815160009384938493909282918401908083835b60208310612c925780518252601f199092019160209182019101612c73565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020915087846040516020018083600160a060020a0316600160a060020a0316606060020a0281526014018260001916600019168152602001925050506040516020818303038152906040526040518082805190602001908083835b60208310612d385780518252601f199092019160209182019101612d19565b51815160209384036101000a600019018019909216911617905260408051929094018290039091206000908152600382528381209781529681528287209a875299909952909320549998505050505050505050565b600b54640100000000900463ffffffff1681565b60408051606060020a338102602080840191909152600160a060020a03881690910260348301526048808301879052835180840390910181526068909201928390528151600093849392909182918401908083835b60208310612e155780518252601f199092019160209182019101612df6565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090505b8315801590612e545750838314155b15612f065760008481526001602090815260408083208484529091528120541315612e825760019150611244565b6005546040805160e060020a63f36b43cb028152600481018790529051600160a060020a039092169163f36b43cb916024808201926020929091908290030181600087803b158015612ed357600080fd5b505af1158015612ee7573d6000803e3d6000fd5b505050506040513d6020811015612efd57600080fd5b50519350612e45565b50600095945050505050565b60408051606060020a600160a060020a03871602602080830191909152603480830185905283518084039091018152605490920192839052815160009361143c9392909182918401908083835b60208310612f7e5780518252601f199092019160209182019101612f5f565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902085856122a3565b60408051606060020a600160a060020a03881602602080830191909152603480830185905283518084039091018152605490920192839052815160009384938493909282918401908083835b6020831061301d5780518252601f199092019160209182019101612ffe565b51815160209384036101000a60001901801990921691161790526040805192909401829003822033606060020a028383015260348084018d90528551808503909101815260549093019485905282519098509195509293508392850191508083835b6020831061309e5780518252601f19909201916020918201910161307f565b51815160001960209485036101000a01908116901991909116179052604080519490920184900384206000818152600383528381208a825283528381208e825283528390208e90558b85529084018a90528382018d9052606084018c90529051909550600160a060020a038d1694503393507f3676da71ebbe2008b6d2bf52b4ab0678cb2166150551071ce4f784087bec6186928190036080019150a3506001979650505050505050565b600554600160a060020a031681565b60026020526000908152604090205481565b6000805b8315610ddf576000848152602081815260408083208151606060020a600160a060020a038b160281850152603480820189905283518083039091018152605490910192839052805191949390929182918401908083835b602083106131e45780518252601f1990920191602091820191016131c5565b51815160209384036101000a6000190180199092169116179052604080519290940182900390912086528581019690965250928301600090812054600554855160e060020a63f36b43cb028152600481018c905295519790910196600160a060020a039091169563f36b43cb95602480820196509194509192918390030190829087803b15801561327457600080fd5b505af1158015613288573d6000803e3d6000fd5b505050506040513d602081101561329e57600080fd5b5051935061316e565b600c5481565b6000828211156132b957fe5b509003905600a165627a7a72305820e694a47ffa8ff416e7cb3559e2b84a4ab3350cef18f1f78b93b2a052ce223b850029",
  "deployedBytecode": "0x6080604052600436106101b35763ffffffff60e060020a60003504166306d1643b81146101b857806306fdde03146101ee57806317d287e01461027857806318160ddd146102bf5780631b6672d2146102d45780631c8d5d38146103045780631db3db1c1461032e5780631f07c4971461038e578063313ce567146103b857806338487803146103e3578063401e33671461040d57806343ae90fe1461043a5780634cf71be4146104625780634d30b6be1461049057806350990880146104b457806357cfeeee146104e55780635d59d45c1461050c57806366422c47146105475780636dd265a514610565578063745e94f6146105925780637aa77f29146105aa5780638097c95e146105bf5780638180f2fc146105e9578063831518b714610610578063911651ac146106255780639201de551461064c57806395d89b41146106645780639908618314610679578063c347197914610697578063c7049657146106c7578063cf54a3d3146106dc578063d0c9148714610706578063d1fe531314610730578063d440796e1461075d578063e10db51114610772578063f2482e2b1461078a578063f2c2b14e146107b1575b600080fd5b3480156101c457600080fd5b506101dc600435600160a060020a03602435166107c6565b60408051918252519081900360200190f35b3480156101fa57600080fd5b506102036107e3565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561023d578181015183820152602001610225565b50505050905090810190601f16801561026a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561028457600080fd5b506102ab600160a060020a036004358116906024351660443560643560843560a43561081a565b604080519115158252519081900360200190f35b3480156102cb57600080fd5b506101dc610dae565b3480156102e057600080fd5b506102ab600160a060020a0360043581169060243516604435606435608435610db4565b34801561031057600080fd5b506101dc600160a060020a0360043581169060243516604435610dcf565b34801561033a57600080fd5b50604080516020600460443581810135838102808601850190965280855261038c958335956024803596369695606495939492019291829185019084908082843750949750610de79650505050505050565b005b34801561039a57600080fd5b506101dc600435600160a060020a0360243516604435606435611196565b3480156103c457600080fd5b506103cd61124d565b6040805160ff9092168252519081900360200190f35b3480156103ef57600080fd5b506101dc600160a060020a0360043516602435604435606435611252565b34801561041957600080fd5b506102ab600160a060020a036004358116906024351660443560643561142b565b6101dc600435600160a060020a0360243581169060443590606435906084351660a435611445565b34801561046e57600080fd5b506104776118d0565b6040805163ffffffff9092168252519081900360200190f35b34801561049c57600080fd5b506101dc600160a060020a03600435166024356118dc565b3480156104c057600080fd5b506104c96118f1565b60408051600160a060020a039092168252519081900360200190f35b3480156104f157600080fd5b506102ab600160a060020a0360043516602435604435611900565b34801561051857600080fd5b5061038c600435602435604435600160a060020a036064358116906084359060a4359060c4351660e435611910565b34801561055357600080fd5b506102ab6004356024356044356122a3565b34801561057157600080fd5b506102ab600160a060020a03600435166024356044356064356084356123ce565b34801561059e57600080fd5b506101dc60043561288d565b3480156105b657600080fd5b506101dc61289f565b3480156105cb57600080fd5b506102ab600160a060020a03600435166024356044356064356128a5565b3480156105f557600080fd5b506102ab600160a060020a0360043516602435604435612a58565b34801561061c57600080fd5b506101dc612a68565b34801561063157600080fd5b506102ab600160a060020a0360043516602435604435612a6e565b34801561065857600080fd5b50610203600435612b0f565b34801561067057600080fd5b50610203612bcd565b34801561068557600080fd5b506101dc600435602435604435612c04565b3480156106a357600080fd5b506101dc600160a060020a0360043581169060243516604435606435608435612c27565b3480156106d357600080fd5b50610477612d8d565b3480156106e857600080fd5b506102ab600160a060020a0360043516602435604435606435612da1565b34801561071257600080fd5b506102ab600160a060020a0360043516602435604435606435612f12565b34801561073c57600080fd5b506102ab600160a060020a0360043516602435604435606435608435612fb2565b34801561076957600080fd5b506104c9613149565b34801561077e57600080fd5b506101dc600435613158565b34801561079657600080fd5b506101dc600160a060020a036004351660243560443561316a565b3480156107bd57600080fd5b506101dc6132a7565b600760209081526000928352604080842090915290825290205481565b60408051808201909152600f81527f466f726b6f6e6f6d696373455454460000000000000000000000000000000000602082015281565b60008060008060008a876040516020018083600160a060020a0316600160a060020a0316606060020a0281526014018260001916600019168152602001925050506040516020818303038152906040526040518082805190602001908083835b602083106108995780518252601f19909201916020918201910161087a565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020935089866040516020018083600160a060020a0316600160a060020a0316606060020a0281526014018260001916600019168152602001925050506040516020818303038152906040526040518082805190602001908083835b6020831061093f5780518252601f199092019160209182019101610920565b51815160209384036101000a60001901801990921691161790526040805192909401829003822033606060020a028383015260348084018e90528551808503909101815260549093019485905282519099509195509293508392850191508083835b602083106109c05780518252601f1990920191602091820191016109a1565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209150600560009054906101000a9004600160a060020a0316600160a060020a0316636ceccf73896040518263ffffffff1660e060020a028152600401808260001916600019168152602001915050602060405180830381600087803b158015610a5557600080fd5b505af1158015610a69573d6000803e3d6000fd5b505050506040513d6020811015610a7f57600080fd5b5051600085815260036020908152604080832086845282528083208c8452909152902054909150891115610ab257600080fd5b660775f05a074000891115610b11576040805160e560020a62461bcd02815260206004820152601f60248201527f20616d6f756e7420686967686572207468616e20746f74616c537570706c7900604482015290519081900360640190fd5b600554604080517f4dd8aa05000000000000000000000000000000000000000000000000000000008152600481018b90529051600160a060020a0390921691634dd8aa05916024808201926020929091908290030181600087803b158015610b7857600080fd5b505af1158015610b8c573d6000803e3d6000fd5b505050506040513d6020811015610ba257600080fd5b50511515610bfa576040805160e560020a62461bcd02815260206004820152601160248201527f6272616e6368206d757374206578697374000000000000000000000000000000604482015290519081900360640190fd5b600084815260026020526040902054811015610c60576040805160e560020a62461bcd02815260206004820152601860248201527f6465626974732063616e7420676f206261636b77617264730000000000000000604482015290519081900360640190fd5b610c6b848a8a6122a3565b1515610cc1576040805160e560020a62461bcd02815260206004820152601860248201527f616d6f756e74206d757374206265207370656e6461626c650000000000000000604482015290519081900360640190fd5b60008481526002602090815260408083208490558a8352828252808320878452825280832080548d9003905585835280832080548d0190558683526003825280832085845282528083208b8452909152902054610d1e908a6132ad565b600085815260036020908152604080832086845282528083208c84528252808320939093558251600160a060020a038e8116825291810183905280840192909252606082018c9052608082018b90529151918d16917f0c6b0e76e483dcdd5bb0b263cc6619434b90af2c8728f59df72be0f801203dbd9181900360a00190a25060019a9950505050505050505050565b60045481565b6000610dc58686868686600061081a565b9695505050505050565b6000610ddf848484600080612c27565b949350505050565b600080600080610df93330888a61142b565b1515610e75576040805160e560020a62461bcd02815260206004820152603060248201527f7472616e7366657220646964206e6f74207061737320696e2072656465656d5260448201527f65616c69747946756e64546f6b656e7300000000000000000000000000000000606482015290519081900360840190fd5b600093508692505b600560009054906101000a9004600160a060020a0316600160a060020a031663176b6f016040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015610ed057600080fd5b505af1158015610ee4573d6000803e3d6000fd5b505050506040513d6020811015610efa57600080fd5b50518314610f9957600083815260086020908152604080832054600554825160e060020a63f36b43cb0281526004810189905292519890910197600160a060020a039091169363f36b43cb93602480850194919392918390030190829087803b158015610f6657600080fd5b505af1158015610f7a573d6000803e3d6000fd5b505050506040513d6020811015610f9057600080fd5b50519250610e7d565b600091505b845182101561118d578482815181101515610fb557fe5b6020908102909101810151604080517f4d30b6be000000000000000000000000000000000000000000000000000000008152306004820152602481018b90529051600160a060020a0390921692634d30b6be926044808401938290030181600087803b15801561102457600080fd5b505af1158015611038573d6000803e3d6000fd5b505050506040513d602081101561104e57600080fd5b5051855190915085908390811061106157fe5b90602001906020020151600160a060020a03166357cfeeee3386848a0281151561108757fe5b6040805160e060020a63ffffffff8716028152600160a060020a0390941660048501529190046024830152604482018b90525160648083019260209291908290030181600087803b1580156110db57600080fd5b505af11580156110ef573d6000803e3d6000fd5b505050506040513d602081101561110557600080fd5b50511515611182576040805160e560020a62461bcd028152602060048201526024808201527f7472616e73666572206f662066756e647320776173206e6f742073756363657360448201527f7366756c00000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600190910190610f9e565b50505050505050565b604080516020808201879052606060020a600160a060020a0387168102838501526054830186905260748301859052330260948301528251608881840301815260a8909201928390528151600093849392909182918401908083835b602083106112115780518252601f1990920191602091820191016111f2565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090508091505b50949350505050565b601281565b60408051606060020a338102602080840191909152600160a060020a0388169091026034830152604880830187905283518084039091018152606890920192839052815160009384938493909282918401908083835b602083106112c75780518252601f1990920191602091820191016112a8565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209150600090505b841580159061130a5750848414155b156113ae576000858152600160209081526040808320858452825280832054600554825160e060020a63f36b43cb028152600481018b905292519590910194600160a060020a039091169363f36b43cb93602480850194919392918390030190829087803b15801561137b57600080fd5b505af115801561138f573d6000803e3d6000fd5b505050506040513d60208110156113a557600080fd5b505194506112fb565b841515610dc5576040805160e560020a62461bcd02815260206004820152602f60248201527f206272616e636820686173682073686f756c64206e6f7420666f6c6c6f77207460448201527f6f20746865204e554c4c5f484153480000000000000000000000000000000000606482015290519081900360840190fd5b600061143c8585858560008061081a565b95945050505050565b600b805467ffffffff0000000019166401000000004262278d000163ffffffff1602179055604080516020808201899052600160a060020a038816606060020a908102838501526054830188905260748301879052330260948301528251808303608801815260a89092019283905281516000938493606093859391929182918401908083835b602083106114eb5780518252601f1990920191602091820191016114cc565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020925061152383612b0f565b60405160200180807f46726f6d20616c6c206f666665727320666f72207468652066455454462c207481526020017f686520666f6c6c6f77696e67206465616c207761732074686520626573743a00815250603f0182805190602001908083835b602083106115a35780518252601f199092019160209182019101611584565b6001836020036101000a038019825116818451168082178552505050505050905001807f3f000000000000000000000000000000000000000000000000000000000000008152506001019150506040516020818303038152906040529150600660009054906101000a9004600160a060020a0316600160a060020a031663762c38fd65048c27395000600954858a600b60009054906101000a900463ffffffff16600b60049054906101000a900463ffffffff1660006040518863ffffffff1660e060020a028152600401808781526020018060200186600160a060020a0316600160a060020a031681526020018563ffffffff1663ffffffff1681526020018463ffffffff1663ffffffff168152602001838152602001828103825287818151815260200191508051906020019080838360005b838110156116f05781810151838201526020016116d8565b50505050905090810190601f16801561171d5780820380516001836020036101000a031916815260200191505b509750505050505050506020604051808303818588803b15801561174057600080fd5b505af1158015611754573d6000803e3d6000fd5b50505050506040513d602081101561176b57600080fd5b505190506000881315611844576000871261178557600080fd5b604080517f17d287e0000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481018a9052606481018c90526084810187905260a481018590529051600160a060020a038b16916317d287e09160c48083019260209291908290030181600087803b15801561180857600080fd5b505af115801561181c573d6000803e3d6000fd5b505050506040513d602081101561183257600080fd5b5051151561183f57600080fd5b61185f565b6000871361185157600080fd5b61185d3330898d61142b565b505b600c5434101561186e57600080fd5b604080518b8152600160a060020a038b1660208201528082018a90526060810189905233608082015290517fb5314ced9a7db33e50e16bfc3b75ec0c80852fc201d0423cd178d16f0cb5033d9181900360a00190a19998505050505050505050565b600b5463ffffffff1681565b60006118ea8383600061316a565b9392505050565b600654600160a060020a031681565b6000610ddf8484846000806123ce565b600554604080517f406edd3600000000000000000000000000000000000000000000000000000000815260048101899052602481018a9052905160009260609284928392600160a060020a03169163406edd3691604480830192602092919082900301818787803b15801561198457600080fd5b505af1158015611998573d6000803e3d6000fd5b505050506040513d60208110156119ae57600080fd5b50511515611a2c576040805160e560020a62461bcd02815260206004820152602960248201527f206272616e6368206973206e6f742061206368696c64206f66206f726967696e60448201527f616c206272616e63680000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600554604080517f49469146000000000000000000000000000000000000000000000000000000008152600160a060020a038981166004830152602482018f90529151919092169163494691469160448083019260209291908290030181600087803b158015611a9b57600080fd5b505af1158015611aaf573d6000803e3d6000fd5b505050506040513d6020811015611ac557600080fd5b50511515611b1d576040805160e560020a62461bcd02815260206004820152601e60248201527f61726269747261746f72206973206e6f742077686974652d6c69737465640000604482015290519081900360640190fd5b600560009054906101000a9004600160a060020a0316600160a060020a0316632667404b600660009054906101000a9004600160a060020a0316600160a060020a031663acae8f4e8f6040518263ffffffff1660e060020a028152600401808260001916600019168152602001915050602060405180830381600087803b158015611ba757600080fd5b505af1158015611bbb573d6000803e3d6000fd5b505050506040513d6020811015611bd157600080fd5b50516040805163ffffffff84811660e060020a0282529092166004830152602482018f90525160448083019260209291908290030181600087803b158015611c1857600080fd5b505af1158015611c2c573d6000803e3d6000fd5b505050506040513d6020811015611c4257600080fd5b50511515611c9a576040805160e560020a62461bcd02815260206004820152601d60248201527f77696e646f77202b2074696d6520206973206e6f7420636f7272656374000000604482015290519081900360640190fd5b6040805160208082018d9052606060020a600160a060020a038d16810283850152605483018c9052607483018b9052330260948301528251608881840301815260a890920192839052815191929182918401908083835b60208310611d105780518252601f199092019160209182019101611cf1565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209350611d4884612b0f565b60405160200180807f46726f6d20616c6c206f666665727320666f72207468652066455454462c207481526020017f686520666f6c6c6f77696e67206465616c207761732074686520626573743a00815250603f0182805190602001908083835b60208310611dc85780518252601f199092019160209182019101611da9565b51815160209384036101000a60001901801990921691161790527f3f000000000000000000000000000000000000000000000000000000000000009190930190815260408051808303601e1901815260018301909152600954600b546021840182815264010000000090910463ffffffff1660e060020a810260418601528351939b5091975090955089949093506045909201918401908083835b60208310611e825780518252601f199092019160209182019101611e63565b6001836020036101000a03801982511681845116808217855250505050505090500193505050506040516020818303038152906040526040518082805190602001908083835b60208310611ee75780518252601f199092019160209182019101611ec8565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209150600660009054906101000a9004600160a060020a0316600160a060020a03166312a203c38d8489600b60009054906101000a900463ffffffff16600a546040518663ffffffff1660e060020a028152600401808660001916600019168152602001856000191660001916815260200184600160a060020a0316600160a060020a031681526020018363ffffffff1663ffffffff16815260200182815260200195505050505050602060405180830381600087803b158015611fd657600080fd5b505af1158015611fea573d6000803e3d6000fd5b505050506040513d602081101561200057600080fd5b505190508015156120e85760008813156120cd57604080517f6dd265a5000000000000000000000000000000000000000000000000000000008152336004820152602481018a9052604481018d905260648101869052608481018790529051600160a060020a038b1691636dd265a59160a48083019260209291908290030181600087803b15801561209157600080fd5b505af11580156120a5573d6000803e3d6000fd5b505050506040513d60208110156120bb57600080fd5b505115156120c857600080fd5b6120e3565b6120d833888d611900565b15156120e357600080fd5b612295565b60008813156121da576120fe3360008d8d612da1565b1561210857600080fd5b60008b8152602081815260408083208151606060020a33028185015260348082018690528351808303909101815260549091019283905280518c959294929391928291908401908083835b602083106121725780518252601f199092019160209182019101612153565b51815160001960209485036101000a019081169019919091161790526040805194909201849003909320865285830196909652509284016000908120805490960190955550508d83526008905281208054890190556121d4903390898e6128a5565b50612295565b604080517f57cfeeee000000000000000000000000000000000000000000000000000000008152336004820152602481018a9052604481018d90529051600160a060020a038b16916357cfeeee9160648083019260209291908290030181600087803b15801561224957600080fd5b505af115801561225d573d6000803e3d6000fd5b505050506040513d602081101561227357600080fd5b5051151561228057600080fd5b60008b81526008602052604090208054880190555b505050505050505050505050565b60008080660775f05a074000851115612306576040805160e560020a62461bcd02815260206004820152601e60248201527f616d6f756e7420626967676572207468616e20746f74616c537570706c790000604482015290519081900360640190fd5b5060009050835b83156123c057600084815260208181526040808320898452825280832054600554825160e060020a63f36b43cb028152600481018a905292519690910195600160a060020a039091169363f36b43cb93602480850194919392918390030190829087803b15801561237d57600080fd5b505af1158015612391573d6000803e3d6000fd5b505050506040513d60208110156123a757600080fd5b505193508082126123bb57600192506123c5565b61230d565b600092505b50509392505050565b600554604080517f6ceccf7300000000000000000000000000000000000000000000000000000000815260048101869052905160009283928392600160a060020a0390921691636ceccf739160248082019260209290919082900301818787803b15801561243b57600080fd5b505af115801561244f573d6000803e3d6000fd5b505050506040513d602081101561246557600080fd5b50519150660775f05a0740008711156124ee576040805160e560020a62461bcd02815260206004820152602760248201527f2073656e64696e6720616d6f756e7420626967676572207468616e20746f746160448201527f6c537570706c7900000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600554604080517f4dd8aa05000000000000000000000000000000000000000000000000000000008152600481018990529051600160a060020a0390921691634dd8aa05916024808201926020929091908290030181600087803b15801561255557600080fd5b505af1158015612569573d6000803e3d6000fd5b505050506040513d602081101561257f57600080fd5b505115156125d7576040805160e560020a62461bcd02815260206004820152601260248201527f206272616e6368206d7573742065786973740000000000000000000000000000604482015290519081900360640190fd5b60408051606060020a3302602080830191909152603480830189905283518084039091018152605490920192839052815191929182918401908083835b602083106126335780518252601f199092019160209182019101612614565b51815160209384036101000a6000190180199092169116179052604080519290940182900390912060008181526002909252929020549194505084101591506126ee9050576040805160e560020a62461bcd02815260206004820152602a60248201527f206272616e636857696e646f77203e3d206c617374446562697457696e646f7760448201527f735b6163636f756e745d00000000000000000000000000000000000000000000606482015290519081900360840190fd5b6126f98188886122a3565b151561274f576040805160e560020a62461bcd02815260206004820152601960248201527f20616d6f756e7420776173206e6f74207370656e6461626c6500000000000000604482015290519081900360640190fd5b600081815260026020908152604080832085905588835282825280832084845280835281842080548c900390558984528383528151606060020a600160a060020a038e16028185015260348082018a90528351808303909101815260549091019283905280518c959294929391928291908401908083835b602083106127e65780518252601f1990920191602091820191016127c7565b51815160209384036101000a6000190180199092169116179052604080519290940182900390912086528581019690965250928301600020805495909501909455508051338152918201889052818101879052606082018a90526080820189905251600160a060020a038b1692507f0c6b0e76e483dcdd5bb0b263cc6619434b90af2c8728f59df72be0f801203dbd9160a0908290030190a2506001979650505050505050565b60086020526000908152604090205481565b60095481565b600554604080517f4dd8aa05000000000000000000000000000000000000000000000000000000008152600481018490529051600092600160a060020a031691634dd8aa0591602480830192602092919082900301818787803b15801561290b57600080fd5b505af115801561291f573d6000803e3d6000fd5b505050506040513d602081101561293557600080fd5b5051151561298d576040805160e560020a62461bcd02815260206004820152601160248201527f6272616e6368206d757374206578697374000000000000000000000000000000604482015290519081900360640190fd5b60008281526001602090815260408083208151606060020a33810282860152600160a060020a038b1602603482015260488082018a905283518083039091018152606890910192839052805188959294929391928291908401908083835b60208310612a0a5780518252601f1990920191602091820191016129eb565b51815160209384036101000a60001901801990921691161790526040805192909401829003909120865285019590955292909201600020805494909401909355506001979650505050505050565b6000610ddf848484600080612fb2565b600a5481565b60408051606060020a600160a060020a03861602602080830191909152600060348084018290528451808503909101815260549093019384905282519093610ddf9392909182918401908083835b60208310612adb5780518252601f199092019160209182019101612abc565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902084846122a3565b604080516020808252818301909252606091829160009182919080820161040080388339019050509250600091505b6020821015612bc457506008810260020a84027fff00000000000000000000000000000000000000000000000000000000000000811615612bb957808383815181101515612b8857fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053505b600190910190612b3e565b50909392505050565b60408051808201909152600581527f4645545446000000000000000000000000000000000000000000000000000000602082015281565b600360209081526000938452604080852082529284528284209052825290205481565b60408051606060020a600160a060020a03871602602080830191909152603480830186905283518084039091018152605490920192839052815160009384938493909282918401908083835b60208310612c925780518252601f199092019160209182019101612c73565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020915087846040516020018083600160a060020a0316600160a060020a0316606060020a0281526014018260001916600019168152602001925050506040516020818303038152906040526040518082805190602001908083835b60208310612d385780518252601f199092019160209182019101612d19565b51815160209384036101000a600019018019909216911617905260408051929094018290039091206000908152600382528381209781529681528287209a875299909952909320549998505050505050505050565b600b54640100000000900463ffffffff1681565b60408051606060020a338102602080840191909152600160a060020a03881690910260348301526048808301879052835180840390910181526068909201928390528151600093849392909182918401908083835b60208310612e155780518252601f199092019160209182019101612df6565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090505b8315801590612e545750838314155b15612f065760008481526001602090815260408083208484529091528120541315612e825760019150611244565b6005546040805160e060020a63f36b43cb028152600481018790529051600160a060020a039092169163f36b43cb916024808201926020929091908290030181600087803b158015612ed357600080fd5b505af1158015612ee7573d6000803e3d6000fd5b505050506040513d6020811015612efd57600080fd5b50519350612e45565b50600095945050505050565b60408051606060020a600160a060020a03871602602080830191909152603480830185905283518084039091018152605490920192839052815160009361143c9392909182918401908083835b60208310612f7e5780518252601f199092019160209182019101612f5f565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902085856122a3565b60408051606060020a600160a060020a03881602602080830191909152603480830185905283518084039091018152605490920192839052815160009384938493909282918401908083835b6020831061301d5780518252601f199092019160209182019101612ffe565b51815160209384036101000a60001901801990921691161790526040805192909401829003822033606060020a028383015260348084018d90528551808503909101815260549093019485905282519098509195509293508392850191508083835b6020831061309e5780518252601f19909201916020918201910161307f565b51815160001960209485036101000a01908116901991909116179052604080519490920184900384206000818152600383528381208a825283528381208e825283528390208e90558b85529084018a90528382018d9052606084018c90529051909550600160a060020a038d1694503393507f3676da71ebbe2008b6d2bf52b4ab0678cb2166150551071ce4f784087bec6186928190036080019150a3506001979650505050505050565b600554600160a060020a031681565b60026020526000908152604090205481565b6000805b8315610ddf576000848152602081815260408083208151606060020a600160a060020a038b160281850152603480820189905283518083039091018152605490910192839052805191949390929182918401908083835b602083106131e45780518252601f1990920191602091820191016131c5565b51815160209384036101000a6000190180199092169116179052604080519290940182900390912086528581019690965250928301600090812054600554855160e060020a63f36b43cb028152600481018c905295519790910196600160a060020a039091169563f36b43cb95602480820196509194509192918390030190829087803b15801561327457600080fd5b505af1158015613288573d6000803e3d6000fd5b505050506040513d602081101561329e57600080fd5b5051935061316e565b600c5481565b6000828211156132b957fe5b509003905600a165627a7a72305820e694a47ffa8ff416e7cb3559e2b84a4ab3350cef18f1f78b93b2a052ce223b850029",
  "sourceMap": "163:7312:13:-;;;887:1;861:27;;919:10;894:35;;935:30;;;-1:-1:-1;;935:30:13;961:4;935:30;;;1035:16;1000:51;;1151:210;5:2:-1;;;;30:1;27;20:12;5:2;1151:210:13;;;;;;;;;;;;;;;;;;;;;;;;;;;1598:7:15;:18;;-1:-1:-1;;;;;;1598:18:15;-1:-1:-1;;;;;1598:18:15;;;;;;;;;;;1654:27;;;;;1151:210:13;;;;;;;;;;;;;-1:-1:-1;;;;;;;;1654:7:15;;;:25;;:27;;;;;;;;;;-1:-1:-1;1654:7:15;:27;;;5:2:-1;;;;30:1;27;20:12;5:2;1654:27:15;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1654:27:15;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1654:27:15;1711:29;;1654:27;;-1:-1:-1;1711:29:15;-1:-1:-1;1771:2:15;1759:14;;1751:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1830:1;1820:11;;1815:264;1837:9;1833:1;:13;1815:264;;;1912:22;1935:1;1912:25;;;;;;;;;;;;;;;;;;1939:9;1895:54;;;;;;-1:-1:-1;;;;;1895:54:15;-1:-1:-1;;;;;1895:54:15;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;1895:54:15;;;1885:65;;;;;;;;;;;;;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;;1885:65:15;;;;;;;;;;;;;-1:-1:-1;1964:32:15;;;;;;;;;:41;;;;;;;;;:60;;2009:15;1964:60;;;;;;2038:11;:30;;;;;;;-1:-1:-1;;1848:3:15;;;;;1885:65;-1:-1:-1;1815:264:15;;-1:-1:-1;;1815:264:15;;-1:-1:-1;;1326:12:13;:28;;-1:-1:-1;;;;;1326:28:13;;;-1:-1:-1;;;;;;1326:28:13;;;;;;;;;;-1:-1:-1;;;;;;163:7312:13;;;;;;",
  "deployedSourceMap": "163:7312:13:-;;;;;;;;;-1:-1:-1;;;163:7312:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;691:68;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;691:68:13;;;-1:-1:-1;;;;;691:68:13;;;;;;;;;;;;;;;;;;;;;415:47;;8:9:-1;5:2;;;30:1;27;20:12;5:2;415:47:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;415:47:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5707:1286:15;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;5707:1286:15;-1:-1:-1;;;;;5707:1286:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1433:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1433:26:15;;;;6999:219;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;6999:219:15;-1:-1:-1;;;;;6999:219:15;;;;;;;;;;;;;;;;2284:194;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;2284:194:15;-1:-1:-1;;;;;2284:194:15;;;;;;;;;;;;5754:1078:13;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;5754:1078:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5754:1078:13;;-1:-1:-1;5754:1078:13;;-1:-1:-1;;;;;;;5754:1078:13;;;7197:276;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;7197:276:13;;;-1:-1:-1;;;;;7197:276:13;;;;;;;;;513:35;;8:9:-1;5:2;;;30:1;27;20:12;5:2;513:35:13;;;;;;;;;;;;;;;;;;;;;;;8190:595:15;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;8190:595:15;-1:-1:-1;;;;;8190:595:15;;;;;;;;;;;5508:193;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;5508:193:15;-1:-1:-1;;;;;5508:193:15;;;;;;;;;;;;;;1509:1378:13;;;;-1:-1:-1;;;;;1509:1378:13;;;;;;;;;;;;;;;;;;935:30;;8:9:-1;5:2;;;30:1;27;20:12;5:2;935:30:13;;;;;;;;;;;;;;;;;;;;;;;3351:148:15;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;3351:148:15;-1:-1:-1;;;;;3351:148:15;;;;;;;623:28:13;;8:9:-1;5:2;;;30:1;27;20:12;5:2;623:28:13;;;;;;;;-1:-1:-1;;;;;623:28:13;;;;;;;;;;;;;;4339:169:15;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;4339:169:15;-1:-1:-1;;;;;4339:169:15;;;;;;;;;3000:2745:13;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;3000:2745:13;;;;;;;-1:-1:-1;;;;;3000:2745:13;;;;;;;;;;;;;;;;;;9095:550:15;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;9095:550:15;;;;;;;;;4514:988;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;4514:988:15;-1:-1:-1;;;;;4514:988:15;;;;;;;;;;;;;800:49:13;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;800:49:13;;;;;861:27;;8:9:-1;5:2;;;30:1;27;20:12;5:2;861:27:13;;;;7274:315:15;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;7274:315:15;-1:-1:-1;;;;;7274:315:15;;;;;;;;;;;2091:187;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;2091:187:15;-1:-1:-1;;;;;2091:187:15;;;;;;;;;894:35:13;;8:9:-1;5:2;;;30:1;27;20:12;5:2;894:35:13;;;;3861:228:15;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;3861:228:15;-1:-1:-1;;;;;3861:228:15;;;;;;;;;6838:353:13;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;6838:353:13;;;;;468:39;;8:9:-1;5:2;;;30:1;27;20:12;5:2;468:39:13;;;;1345:81:15;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1345:81:15;;;;;;;;;2958:387;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;2958:387:15;-1:-1:-1;;;;;2958:387:15;;;;;;;;;;;;;;;;971:23:13;;8:9:-1;5:2;;;30:1;27;20:12;5:2;971:23:13;;;;7649:495:15;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;7649:495:15;-1:-1:-1;;;;;7649:495:15;;;;;;;;;;;4095:238;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;4095:238:15;-1:-1:-1;;;;;4095:238:15;;;;;;;;;;;2484:468;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;2484:468:15;-1:-1:-1;;;;;2484:468:15;;;;;;;;;;;;;1465:31;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1465:31:15;;;;1172:51;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1172:51:15;;;;;3505:350;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;3505:350:15;-1:-1:-1;;;;;3505:350:15;;;;;;;;;1000:51:13;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1000:51:13;;;;691:68;;;;;;;;;;;;;;;;;;;;;;;;:::o;415:47::-;;;;;;;;;;;;;;;;;;;:::o;5707:1286:15:-;5858:4;5875:15;5948:13;6016:17;6092:20;5919:8;5929:7;5902:35;;;;;;-1:-1:-1;;;;;5902:35:15;-1:-1:-1;;;;;5902:35:15;-1:-1:-1;;;5902:35:15;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;5902:35:15;;;5892:46;;;;;;;;;;;;;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;;;5892:46:15;;;;;;;;;;;;;;;;5875:63;;5991:6;5999:5;5974:31;;;;;;-1:-1:-1;;;;;5974:31:15;-1:-1:-1;;;;;5974:31:15;-1:-1:-1;;;5974:31:15;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;5974:31:15;;;5964:42;;;;;;;;;;;;;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;;5964:42:15;;;;;;;;;;;;6063:10;-1:-1:-1;;;6046:35:15;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;6046:35:15;;;;;;;;6036:46;;5964:42;;-1:-1:-1;6046:35:15;;-1:-1:-1;6046:35:15;;-1:-1:-1;6046:35:15;;6036:46;;;-1:-1:-1;6036:46:15;6046:35;6036:46;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;;;6036:46:15;;;;;;;;;;;;;;;;6016:66;;6115:7;;;;;;;;;-1:-1:-1;;;;;6115:7:15;-1:-1:-1;;;;;6115:20:15;;6136:6;6115:28;;;;;-1:-1:-1;;;6115:28:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6115:28:15;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6115:28:15;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;6115:28:15;6161:16;;;;:7;6115:28;6161:16;;;;;;;:27;;;;;;;;:35;;;;;;;;;6115:28;;-1:-1:-1;6161:45:15;-1:-1:-1;6161:45:15;6153:54;;;;;;6235:16;6225:26;;;6217:70;;;;;-1:-1:-1;;;;;6217:70:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;6305:7;;:31;;;;;;;;;;;;;;-1:-1:-1;;;;;6305:7:15;;;;:23;;:31;;;;;;;;;;;;;;;:7;;:31;;;5:2:-1;;;;30:1;27;20:12;5:2;6305:31:15;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6305:31:15;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;6305:31:15;6297:61;;;;;;;-1:-1:-1;;;;;6297:61:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;6413:25;;;;:16;:25;;;;;;6397:41;;;6389:78;;;;;-1:-1:-1;;;;;6389:78:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;6515:45;6535:7;6545:6;6553;6515:18;:45::i;:::-;6507:82;;;;;;;-1:-1:-1;;;;;6507:82:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;6634:25;;;;:16;:25;;;;;;;;:40;;;6684:21;;;;;;;;;:30;;;;;;;;:48;;;;;;;6742:28;;;;;;:46;;;;;;6837:16;;;:7;:16;;;;;:27;;;;;;;;:35;;;;;;;;;:47;;6684:48;6837:39;:47::i;:::-;6799:16;;;;:7;:16;;;;;;;;:27;;;;;;;;:35;;;;;;;;:85;;;;6900:64;;-1:-1:-1;;;;;6900:64:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6982:4:15;;5707:1286;-1:-1:-1;;;;;;;;;;5707:1286:15:o;1433:26::-;;;;:::o;6999:219::-;7123:4;7146:65;7162:4;7168:6;7176;7184;7192:7;7201:9;7146:15;:65::i;:::-;7139:72;6999:219;-1:-1:-1;;;;;;6999:219:15:o;2284:194::-;2380:14;2413:58;2426:5;2433:7;2442:6;2450:9;2461;2413:12;:58::i;:::-;2406:65;2284:194;-1:-1:-1;;;;2284:194:15:o;5754:1078:13:-;6113:33;6160:21;6467:6;6525:16;5929:46;5942:10;5954:4;5960:6;5968;5929:12;:46::i;:::-;5921:107;;;;;;;-1:-1:-1;;;;;5921:107:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6149:1;6113:37;;6184:6;6160:30;;6200:210;6224:7;;;;;;;;;-1:-1:-1;;;;;6224:7:13;-1:-1:-1;;;;;6224:25:13;;:27;;;;;-1:-1:-1;;;6224:27:13;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6224:27:13;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6224:27:13;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;6224:27:13;6207:44;;6200:210;;6297:33;;;;:18;:33;;;;;;;;;6360:7;;:39;;-1:-1:-1;;;;;6360:39:13;;;;;;;;;;6267:63;;;;;-1:-1:-1;;;;;6360:7:13;;;;:24;;:39;;;;;6297:33;;6360:39;;;;;;;;;:7;:39;;;5:2:-1;;;;30:1;27;20:12;5:2;6360:39:13;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6360:39:13;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;6360:39:13;;-1:-1:-1;6200:210:13;;;6474:1;6467:8;;6462:363;6481:16;:23;6477:1;:27;6462:363;;;6560:16;6577:1;6560:19;;;;;;;;;;;;;;;;;;;;6544:60;;;;;;6591:4;6544:60;;;;;;;;;;;;-1:-1:-1;;;;;6544:46:13;;;;;;:60;;;;;;;;;;-1:-1:-1;6544:46:13;:60;;;5:2:-1;;;;30:1;27;20:12;5:2;6544:60:13;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6544:60:13;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;6544:60:13;6670:19;;6544:60;;-1:-1:-1;6670:16:13;;6687:1;;6670:19;;;;;;;;;;;;;;-1:-1:-1;;;;;6654:45:13;;6700:10;6737:26;6721:8;6712:6;:17;:52;;;;;;;6654:119;;;-1:-1:-1;;;6654:119:13;;;;;;-1:-1:-1;;;;;6654:119:13;;;;;;;6712:52;;;6654:119;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6654:119:13;;;;5:2:-1;;;;30:1;27;20:12;5:2;6654:119:13;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6654:119:13;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;6654:119:13;6646:168;;;;;;;-1:-1:-1;;;;;6646:168:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6506:3;;;;;6462:363;;;5754:1078;;;;;;;:::o;7197:276::-;7362:82;;;;;;;;;;-1:-1:-1;;;;;;;;7362:82:13;;;;;;;;;;;;;;;;;;;;7433:10;7362:82;;;;;;;22:32:-1;26:21;;;22:32;6:49;;7362:82:13;;;;;;;;7352:93;;7318:7;;;;7362:82;;;;;7352:93;;;;7362:82;7352:93;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;;;7352:93:13;;;;;;;;;;;;;;;;7337:108;;7462:4;7455:11;;7197:276;;;;;;;;:::o;513:35::-;546:2;513:35;:::o;8190:595:15:-;8383:40;;;-1:-1:-1;;;8400:10:15;8383:40;;;;;;;;;;-1:-1:-1;;;;;8383:40:15;;;;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;8383:40:15;;;;;;;;8373:51;;8341:7;;;;;;8383:40;;;;8373:51;;;;8383:40;8373:51;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;;;8373:51:15;;;;;;;;;;;;;;;;8360:64;;8447:1;8434:14;;8458:199;8465:23;;;;;:63;;-1:-1:-1;8492:36:15;;;;8465:63;8458:199;;;8551:28;;;;:16;:28;;;;;;;;:32;;;;;;;;;8610:7;;:36;;-1:-1:-1;;;;;8610:36:15;;;;;;;;;;8544:39;;;;;-1:-1:-1;;;;;8610:7:15;;;;:24;;:36;;;;;8551:28;;8610:36;;;;;;;;;:7;:36;;;5:2:-1;;;;30:1;27;20:12;5:2;8610:36:15;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8610:36:15;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;8610:36:15;;-1:-1:-1;8458:199:15;;;8674:23;;;8666:83;;;;;-1:-1:-1;;;;;8666:83:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5508:193;5608:4;5631:63;5647:4;5653:2;5657:6;5665;5673:9;5684;5631:15;:63::i;:::-;5624:70;5508:193;-1:-1:-1;;;;;5508:193:15:o;1509:1378:13:-;1725:9;:33;;-1:-1:-1;;1725:33:13;;1744:3;1750:7;1744:13;1725:33;;;;;;1793:82;;;;;;;;;;-1:-1:-1;;;;;1793:82:13;;-1:-1:-1;;;1793:82:13;;;;;;;;;;;;;;;;;;;1864:10;1793:82;;;;;;;26:21:-1;;;22:32;;6:49;;1793:82:13;;;;;;;;1783:93;;-1:-1:-1;;;;1886:22:13;;-1:-1:-1;;1793:82:13;;;;;1783:93;;;;1793:82;1783:93;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;;;1783:93:13;;;;;;;;;;;;;;;;1768:108;;2002:30;2026:4;2002:15;:30::i;:::-;1918:120;;;;;;;;;;;;;;;;;;;;;;;;;;;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;;;1918:120:13;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;1918:120:13;;;1886:153;;2169:12;;;;;;;;;-1:-1:-1;;;;;2169:12:13;-1:-1:-1;;;;;2169:24:13;;2200:15;2217:10;;2229:8;2239:10;2251;;;;;;;;;;;2263:9;;;;;;;;;;;2274:1;2169:107;;;;;-1:-1:-1;;;2169:107:13;;;;;;;;;;;;;;;-1:-1:-1;;;;;2169:107:13;-1:-1:-1;;;;;2169:107:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;2169:107:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2169:107:13;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2169:107:13;;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2169:107:13;;-1:-1:-1;2349:1:13;2333:17;;2329:333;;;2389:1;2374:16;;2366:25;;;;;;2413:110;;;;;;2462:10;2413:110;;;;2474:4;2413:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2413:48:13;;;;;:110;;;;;;;;;;;;;;-1:-1:-1;2413:48:13;:110;;;5:2:-1;;;;30:1;27;20:12;5:2;2413:110:13;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2413:110:13;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2413:110:13;2405:119;;;;;;;;2329:333;;;2577:1;2562:16;;2554:25;;;;;;2592:58;2605:10;2617:4;2628:12;2643:6;2592:12;:58::i;:::-;;2329:333;2737:18;;2724:9;:31;;2716:40;;;;;;2772:81;;;;;;-1:-1:-1;;;;;2772:81:13;;;;;;;;;;;;;;;;;;2842:10;2772:81;;;;;;;;;;;;;;;2870:10;1509:1378;-1:-1:-1;;;;;;;;;1509:1378:13:o;935:30::-;;;;;;:::o;3351:148:15:-;3429:7;3455:37;3468:4;3474:6;3482:9;3455:12;:37::i;:::-;3448:44;3351:148;-1:-1:-1;;;3351:148:15:o;623:28:13:-;;;-1:-1:-1;;;;;623:28:13;;:::o;4339:169:15:-;4423:4;4446:55;4458:4;4464:6;4472;4480:9;4491;4446:11;:55::i;3000:2745:13:-;3302:7;;:57;;;;;;;;;;;;;;;;;;;;3761:12;;3888:22;;3761:12;;;;-1:-1:-1;;;;;3302:7:13;;:24;;:57;;;;;;;;;;;;;;3761:12;3302:7;:57;;;5:2:-1;;;;30:1;27;20:12;5:2;3302:57:13;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3302:57:13;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3302:57:13;3294:111;;;;;;;-1:-1:-1;;;;;3294:111:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3475:7;;:60;;;;;;-1:-1:-1;;;;;3475:60:13;;;;;;;;;;;;;;;:7;;;;;:31;;:60;;;;;;;;;;;;;;:7;;:60;;;5:2:-1;;;;30:1;27;20:12;5:2;3475:60:13;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3475:60:13;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3475:60:13;3467:103;;;;;;;-1:-1:-1;;;;;3467:103:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;3589:7;;;;;;;;;-1:-1:-1;;;;;3589:7:13;-1:-1:-1;;;;;3589:30:13;;3620:12;;;;;;;;;-1:-1:-1;;;;;3620:12:13;-1:-1:-1;;;;;3620:26:13;;3647:10;3620:38;;;;;-1:-1:-1;;;3620:38:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3620:38:13;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3620:38:13;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3620:38:13;3589:87;;;;;;;-1:-1:-1;;;3589:87:13;;;;;;;;;;;;;;;;;;;;;;3620:38;;3589:87;;;;;;;-1:-1:-1;3589:87:13;;;;5:2:-1;;;;30:1;27;20:12;5:2;3589:87:13;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3589:87:13;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3589:87:13;3581:129;;;;;;;-1:-1:-1;;;;;3581:129:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;3786:91;;;;;;;;;;-1:-1:-1;;;;;;;;3786:91:13;;;;;;;;;;;;;;;;;;;;3866:10;3786:91;;;;;;;22:32:-1;26:21;;;22:32;6:49;;3786:91:13;;;;;;;;3776:102;;3786:91;;;;;3776:102;;;;3786:91;3776:102;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;;;3776:102:13;;;;;;;;;;;;;;;;3761:117;;4004:30;4028:4;4004:15;:30::i;:::-;3920:120;;;;;;;;;;;;;;;;;;;;;;;;;;;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;;3920:120:13;;;;;;;;;;;26:21:-1;;;-1:-1;;22:32;6:49;;274:1;3920:120:13;;;;;4100:10;;4112:9;;4083:49;;;;;;4112:9;;;;;;-1:-1:-1;;;4083:49:13;;;;;;;;3920:120;;-1:-1:-1;4100:10:13;;-1:-1:-1;4112:9:13;;-1:-1:-1;3920:120:13;;4083:49;;-1:-1:-1;4083:49:13;;;;;;;;;;;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;;;4083:49:13;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;4083::13;;;4073:60;;;;;;;;;;;;;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;;;4073:60:13;;;;;;;;;;;;;;;;4051:82;;4164:12;;;;;;;;;-1:-1:-1;;;;;4164:12:13;-1:-1:-1;;;;;4164:36:13;;4201:10;4213:11;4226:10;4238;;;;;;;;;;;4250:7;;4164:94;;;;;-1:-1:-1;;;4164:94:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4164:94:13;-1:-1:-1;;;;;4164:94:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4164:94:13;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4164:94:13;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4164:94:13;;-1:-1:-1;4546:8:13;;4542:1197;;;4642:1;4625:14;:18;4621:281;;;4671:110;;;;;;4716:10;4671:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4671:44:13;;;;;:110;;;;;;;;;;;;;;-1:-1:-1;4671:44:13;:110;;;5:2:-1;;;;30:1;27;20:12;5:2;4671:110:13;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4671:110:13;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4671:110:13;4663:119;;;;;;;;4621:281;;;4829:57;4838:10;4855:12;4870:15;4829:8;:57::i;:::-;4821:66;;;;;;;;4542:1197;;;5035:1;5018:14;:18;5014:715;;;5065:72;5082:10;5094:9;5105:15;5122:14;5065:16;:72::i;:::-;5064:73;5056:82;;;;;;5157:13;:30;;;;;;;;;;;5198:39;;-1:-1:-1;;;5215:10:13;5198:39;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;5198:39:13;;;;;;;;5188:50;;5243:12;;5157:30;;:13;;5198:39;;;;5188:50;;;;;5198:39;5188:50;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;-1:-1;;263:2;259:12;;;254:3;250:22;246:30;340:21;;;311:9;;295:26;;;;377:20;365:33;;5188:50:13;;;;;;;;;;;;;5157:82;;;;;;;;;-1:-1:-1;5157:82:13;;;-1:-1:-1;5157:82:13;;;:98;;;;;;;;-1:-1:-1;;5273:35:13;;;:18;:35;;;;:51;;;;;;5342:79;;5362:10;;5312:12;5292:15;5342:19;:79::i;:::-;;5014:715;;;5552:92;;;;;;5594:10;5552:92;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5552:41:13;;;;;:92;;;;;;;;;;;;;;-1:-1:-1;5552:41:13;:92;;;5:2:-1;;;;30:1;27;20:12;5:2;5552:92:13;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5552:92:13;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5552:92:13;5544:101;;;;;;;;5663:35;;;;:18;:35;;;;;:51;;;;;;5014:715;3000:2745;;;;;;;;;;;;:::o;9095:550:15:-;9206:4;;;9244:16;9230:30;;;9222:73;;;;;-1:-1:-1;;;;;9222:73:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9318:1:15;;-1:-1:-1;9357:10:15;9378:239;9385:23;;9378:239;;9431:13;:25;;;;;;;;;;;:31;;;;;;;;;9489:7;;:36;;-1:-1:-1;;;;;9489:36:15;;;;;;;;;;9424:38;;;;;-1:-1:-1;;;;;9489:7:15;;;;:24;;:36;;;;;9431:25;;9489:36;;;;;;;;;:7;:36;;;5:2:-1;;;;30:1;27;20:12;5:2;9489:36:15;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9489:36:15;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9489:36:15;;-1:-1:-1;9543:18:15;;;9539:68;;9588:4;9581:11;;;;9539:68;9378:239;;;9633:5;9626:12;;9095:550;;;;;;;;:::o;4514:988::-;4672:7;;:28;;;;;;;;;;;;;;4633:4;;;;;;-1:-1:-1;;;;;4672:7:15;;;;:20;;:28;;;;;;;;;;;;;;;4633:4;4672:7;:28;;;5:2:-1;;;;30:1;27;20:12;5:2;4672:28:15;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4672:28:15;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4672:28:15;;-1:-1:-1;4729:16:15;4719:26;;;4711:78;;;;;-1:-1:-1;;;;;4711:78:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4807:7;;:31;;;;;;;;;;;;;;-1:-1:-1;;;;;4807:7:15;;;;:23;;:31;;;;;;;;;;;;;;;:7;;:31;;;5:2:-1;;;;30:1;27;20:12;5:2;4807:31:15;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4807:31:15;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4807:31:15;4799:62;;;;;;;-1:-1:-1;;;;;4799:62:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;4899:37;;;-1:-1:-1;;;4916:10:15;4899:37;;;;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;4899:37:15;;;;;;;;4889:48;;4899:37;;;;;4889:48;;;;4899:37;4889:48;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;4889:48:15;;;;;;;;;;;;;-1:-1:-1;4971:25:15;;;:16;:25;;;;;;;4889:48;;-1:-1:-1;;4955:41:15;;;;-1:-1:-1;4947:96:15;;-1:-1:-1;4947:96:15;;;;-1:-1:-1;;;;;4947:96:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5091:45;5111:7;5121:6;5129;5091:18;:45::i;:::-;5083:83;;;;;;;-1:-1:-1;;;;;5083:83:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;5210:25;;;;:16;:25;;;;;;;;:40;;;5260:21;;;;;;;;;:30;;;;;;;;;:48;;;;;;;5318:21;;;;;;5350:29;;-1:-1:-1;;;;;;;;5350:29:15;;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;5350:29:15;;;;;;;;5340:40;;5301:6;;5260:21;;5210:25;;5350:29;;;;5340:40;;;;;5350:29;5340:40;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;;5340:40:15;;;;;;;;;;;;;5318:63;;;;;;;;;-1:-1:-1;5318:63:15;;;-1:-1:-1;5318:63:15;:81;;;;;;;;;-1:-1:-1;5415:58:15;;5430:10;5415:58;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5415:58:15;;;-1:-1:-1;5415:58:15;;;;;;;;;;-1:-1:-1;5491:4:15;;4514:988;-1:-1:-1;;;;;;;4514:988:15:o;800:49:13:-;;;;;;;;;;;;;:::o;861:27::-;;;;:::o;7274:315:15:-;7403:7;;:31;;;;;;;;;;;;;;7379:4;;-1:-1:-1;;;;;7403:7:15;;:23;;:31;;;;;;;;;;;;;;7379:4;7403:7;:31;;;5:2:-1;;;;30:1;27;20:12;5:2;7403:31:15;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7403:31:15;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;7403:31:15;7395:61;;;;;;;-1:-1:-1;;;;;7395:61:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;7466:24;;;;:16;:24;;;;;;;;7501:40;;-1:-1:-1;;;7518:10:15;7501:40;;;;;;-1:-1:-1;;;;;7501:40:15;;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;7501:40:15;;;;;;;;7491:51;;7554:6;;7466:24;;;;7501:40;;;;7491:51;;;;;7501:40;7491:51;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;;7491:51:15;;;;;;;;;;;;;7466:77;;;;;;;;;;;;-1:-1:-1;7466:77:15;:95;;;;;;;;;-1:-1:-1;;;7274:315:15;-1:-1:-1;;;;;;;7274:315:15:o;2091:187::-;2180:12;2211:60;2222:8;2232:7;2241;2250:9;2261;2211:10;:60::i;894:35:13:-;;;;:::o;3861:228:15:-;4023:33;;;-1:-1:-1;;;;;;;;4023:33:15;;;;;;;;;;;3971:4;4023:33;;;;;;;;;26:21:-1;;;22:32;;;6:49;;4023:33:15;;;;;;;;4013:44;;3971:4;;3994:88;;4023:33;;;;;4013:44;;;;4023:33;4013:44;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;;;4013:44:15;;;;;;;;;;;;;;;;4059:10;4071;3994:18;:88::i;6838:353:13:-;6939:13;;;6949:2;6939:13;;;;;;;;;6894:6;;;;6967;;;;6939:13;;;;17:15:-1;;105:10;6939:13:13;88:34:-1;136:17;;-1:-1;6939:13:13;6912:40;;6974:1;6967:8;;6962:187;6981:2;6977:1;:6;6962:187;;;-1:-1:-1;7048:1:13;:5;;7042:1;:12;7029:25;;7074:9;;;;7070:69;;7120:4;7103:11;7115:1;7103:14;;;;;;;;;;;;;;:21;;;;;;;;;;;7070:69;6985:3;;;;;6962:187;;;-1:-1:-1;7172:11:13;;6838:353;-1:-1:-1;;;6838:353:13:o;468:39::-;;;;;;;;;;;;;;;;;;;:::o;1345:81:15:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;2958:387::-;3159:36;;;-1:-1:-1;;;;;;;;3159:36:15;;;;;;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;3159:36:15;;;;;;;;3149:47;;3097:14;;;;;;3159:36;;;;3149:47;;;;3159:36;3149:47;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;;;3149:47:15;;;;;;;;;;;;;;;;3124:72;;3256:5;3263:11;3239:36;;;;;;-1:-1:-1;;;;;3239:36:15;-1:-1:-1;;;;;3239:36:15;-1:-1:-1;;;3239:36:15;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;3239:36:15;;;3229:47;;;;;;;;;;;;;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;;3229:47:15;;;;;;;;;;;;;-1:-1:-1;3293:21:15;;;:7;:21;;;;;:37;;;;;;;;;:45;;;;;;;;;;;;2958:387;-1:-1:-1;;;;;;;;;2958:387:15:o;971:23:13:-;;;;;;;;;:::o;7649:495:15:-;7820:40;;;-1:-1:-1;;;7837:10:15;7820:40;;;;;;;;;;-1:-1:-1;;;;;7820:40:15;;;;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;7820:40:15;;;;;;;;7810:51;;7781:4;;;;7820:40;;;;;7810:51;;;;7820:40;7810:51;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;;;7810:51:15;;;;;;;;;;;;;;;;7797:64;;7871:245;7878:23;;;;;:63;;-1:-1:-1;7905:36:15;;;;7878:63;7871:245;;;7996:1;7961:28;;;:16;:28;;;;;;;;:32;;;;;;;;;:36;7957:86;;;8024:4;8017:11;;;;7957:86;8069:7;;:36;;;-1:-1:-1;;;;;8069:36:15;;;;;;;;;;-1:-1:-1;;;;;8069:7:15;;;;:24;;:36;;;;;;;;;;;;;;;:7;;:36;;;5:2:-1;;;;30:1;27;20:12;5:2;8069:36:15;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8069:36:15;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;8069:36:15;;-1:-1:-1;7871:245:15;;;-1:-1:-1;8132:5:15;;7649:495;-1:-1:-1;;;;;7649:495:15:o;4095:238::-;4273:27;;;-1:-1:-1;;;;;;;;4273:27:15;;;;;;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;4273:27:15;;;;;;;;4263:38;;4221:4;;4244:82;;4273:27;;;;;4263:38;;;;4273:27;4263:38;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;;;4263:38:15;;;;;;;;;;;;;;;;4303:10;4315;4244:18;:82::i;2484:468::-;2668:38;;;-1:-1:-1;;;;;;;;2668:38:15;;;;;;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;2668:38:15;;;;;;;;2658:49;;2613:12;;;;;;2668:38;;;;2658:49;;;;2668:38;2658:49;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;;2658:49:15;;;;;;;;;;;;2762:10;-1:-1:-1;;;2745:37:15;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;2745:37:15;;;;;;;;2735:48;;2658:49;;-1:-1:-1;2745:37:15;;-1:-1:-1;2745:37:15;;-1:-1:-1;2745:37:15;;2735:48;;;-1:-1:-1;2735:48:15;2745:37;2735:48;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;-1:-1;;263:2;259:12;;;254:3;250:22;246:30;340:21;;;311:9;;295:26;;;;377:20;365:33;;2735:48:15;;;;;;;;;;;;-1:-1:-1;2793:16:15;;;:7;:16;;;;;:28;;;;;;;;:37;;;;;;;;:47;;;2855:69;;;;;;;;;;;;;;;;;;;;;;;2735:48;;-1:-1:-1;;;;;;2855:69:15;;;-1:-1:-1;2864:10:15;;-1:-1:-1;2855:69:15;;;;;;;;-1:-1:-1;2855:69:15;-1:-1:-1;2941:4:15;;2484:468;-1:-1:-1;;;;;;;2484:468:15:o;1465:31::-;;;-1:-1:-1;;;;;1465:31:15;;:::o;1172:51::-;;;;;;;;;;;;;:::o;3505:350::-;3600:7;;3643:177;3650:19;;3643:177;;3692:13;:21;;;;;;;;;;;3724:28;;-1:-1:-1;;;;;;;;3724:28:15;;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;3724:28:15;;;;;;;;3714:39;;3692:21;;:13;3724:28;;;;;3714:39;;;;3724:28;3714:39;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;;3714:39:15;;;;;;;;;;;;;3692:62;;;;;;;;;-1:-1:-1;3692:62:15;;;-1:-1:-1;3692:62:15;;;;3777:7;;:32;;-1:-1:-1;;;;;3777:32:15;;;;;;;;;;3685:69;;;;;-1:-1:-1;;;;;3777:7:15;;;;:24;;:32;;;;;-1:-1:-1;263:2;;-1:-1;3777:32:15;;;;;;;;;;:7;:32;;;5:2:-1;;;;30:1;27;20:12;5:2;3777:32:15;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3777:32:15;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3777:32:15;;-1:-1:-1;3643:177:15;;1000:51:13;;;;:::o;1060:116:20:-;1120:7;1142:8;;;;1135:16;;;;-1:-1:-1;1164:7:20;;;1060:116::o",
  "source": "pragma solidity ^0.4.22;\n\nimport \"./ForkonomicToken.sol\";\nimport \"@realitio/realitio-contracts/truffle/contracts/Realitio.sol\";\nimport \"./ForkonomicSystem.sol\";\n\n\ncontract ForkonomicETTF is ForkonomicToken {\n    //events\n    event NewDealProposed(\n        bytes32 branch,\n        address forkonomicToken,\n        int balanceChange_,\n        int  compensation,\n        address sender);\n\n    //constant variables\n    string public constant name = \"ForkonomicsETTF\";\n    string public constant symbol = \"FETTF\";\n    uint8 public constant decimals = 18;  // 18 is the most common number of decimal places\n\n    //interfaces\n    Realitio public realityCheck;\n\n    // branch => token => change\n    mapping(bytes32 => mapping(address => int)) public fundHoldingChange; \n\n    // branch => token => change\n    mapping(bytes32 => int) public fETTFbalanceChange; \n    \n    uint256 public templateId=0;\n    uint256 public minBond = 5000000000;\n    uint32 public minTimeout= 1000;\n    uint32 public openingTs;\n    uint256 public minQuestionFunding =5000000000000000;\n    \n     // minimul payment for a funding request is 0.05 ETH. This is used in realitycheck\n\n    constructor(\n        Realitio realityCheck_, \n        ForkonomicSystem fSystem_,\n        address [] funding\n    )\n    ForkonomicToken(fSystem_, funding) \n    public {\n        realityCheck = realityCheck_;\n    }\n\n    // @dev This function takes a investment proposal and makes a question\n    // in realityCheck to arbitrate about this investment request.\n    function proposeInvestment(bytes32 branch, address forkonomicToken, int balanceChange, int compensation, address arbitrator, bytes32 fromBox) \n    public payable returns(bytes32) {\n        //posting question\n        openingTs = uint32(now + 30 days);\n        bytes32 deal = keccak256(abi.encodePacked(branch, forkonomicToken, balanceChange, compensation, msg.sender));\n        string memory question = string(abi.encodePacked(\"From all offers for the fETTF, the following deal was the best:\", bytes32ToString(bytes32(deal)), \"?\"));\n        //bytes32 contentHash = keccak256(abi.encodePacked(templateId, openingTs, question));     \n        bytes32 questionId = realityCheck.askQuestion.value(5*1000000000000)(templateId, question, arbitrator, minTimeout, openingTs, 0);\n      \n\n        // check request for logic\n        if (balanceChange > 0) {\n            require(compensation < 0);\n            require(ForkonomicToken(forkonomicToken).boxTransferFrom(msg.sender, this, uint(balanceChange), branch, fromBox, deal));\n        } else {\n           require(compensation > 0);\n           transferFrom(msg.sender, this, uint(compensation), branch);\n\n        }\n        //ensure that question can be funded\n        require(msg.value >= minQuestionFunding);\n\n        emit NewDealProposed(branch, forkonomicToken, balanceChange, compensation, msg.sender);\n        return questionId;\n    }\n\n    // @dev executes a previously handed in investement request based on the arbitrators decision.\n    // \n    function executeInvestmentRequest(bytes32 questionId, bytes32 executionbranch, bytes32 originalbranch, address forkonomicToken, int balanceChange_, int compensation, address arbitrator, bytes32 fromBox)\n    public {\n        // check that original branch is a father of executionbranch:\n        require(fSystem.isFatherOfBranch(originalbranch, executionbranch), \" branch is not a child of original branch\");\n\n         // ensure that arbitrator is white-listed\n        require(fSystem.isArbitratorWhitelisted(arbitrator, executionbranch), \"arbitrator is not white-listed\");\n\n        require(fSystem.isBranchCreatedAfterTS(realityCheck.getFinalizeTS(questionId), executionbranch), \"window + time  is not correct\");\n\n        // get answer from relaityCheck\n        bytes32 deal = keccak256(abi.encodePacked(originalbranch, forkonomicToken, balanceChange_, compensation, msg.sender));\n        string memory question = string(abi.encodePacked(\"From all offers for the fETTF, the following deal was the best:\", bytes32ToString(bytes32(deal)), \"?\"));\n        bytes32 contentHash = keccak256(abi.encodePacked(templateId, openingTs, question));     \n        uint ans = uint(realityCheck.getFinalAnswerIfMatches(questionId, contentHash, arbitrator, minTimeout, minBond));\n\n        // ensures that balances are not withdrawn form a branch older than the end of the questionanswer period. \n        //require(fSystem.branchTimestamp(executionbranch) >= minTimeout-fSystem.WINDOWTIMESPAN());\n        \n        // processing the actual fund transfers\n        if (ans == 0) {\n            //if the request has not been accepted\n            if (balanceChange_ > 0) {\n                require(ForkonomicToken(forkonomicToken).boxTransfer(msg.sender, uint(balanceChange_), executionbranch, deal, fromBox));\n            } else {\n                require(transfer(msg.sender, uint(compensation), executionbranch));\n            }\n        } else {\n            //if request has been accepted\n            // credit new fETTF-tokens\n            if (balanceChange_ > 0) {\n                require(!hasBoxWithdrawal(msg.sender, NULL_HASH, executionbranch, originalbranch)); \n                balanceChange[executionbranch][keccak256(abi.encodePacked(msg.sender, NULL_HASH))] += compensation;\n                fETTFbalanceChange[executionbranch] += compensation;\n                recordBoxWithdrawal(msg.sender, NULL_HASH, uint(compensation), executionbranch);\n            } else {\n                //send out the tokens to requestStarter, burn credited fETTF-tokens\n                require(ForkonomicToken(forkonomicToken).transfer(msg.sender, uint(balanceChange_), executionbranch));\n                fETTFbalanceChange[executionbranch] += compensation;\n            }\n        }\n    }\n   \n    function redeemRealityFundTokens(bytes32 branch, uint amount, address [] forkonomicTokens) public {\n        // transfer tokens, which are about to be redeemed\n        require(transferFrom(msg.sender, this, amount, branch), \"transfer did not pass in redeemRealityFundTokens\");\n\n        //calculate the total amount of outstanding ForkonomicETTF-tokens\n        int256 amountOutstandingETTFToken = 0;\n        bytes32 hashIteration = branch;\n        while (hashIteration != fSystem.genesisBranchHash()) {\n            amountOutstandingETTFToken += fETTFbalanceChange[hashIteration];\n            hashIteration = fSystem.branchParentHash(hashIteration);\n        }\n\n        // make the payout for all tokens\n        for (uint i=0; i < forkonomicTokens.length; i++) {\n            uint256 holdings = ForkonomicToken(forkonomicTokens[i]).balanceOf(this, branch);\n            //make safe mul\n            require(ForkonomicToken(forkonomicTokens[i]).transfer(msg.sender, amount * holdings / uint(amountOutstandingETTFToken), branch), \"transfer of funds was not successful\");\n        }\n\n    }\n\n    function bytes32ToString (bytes32 data) public returns (string) {\n        bytes memory bytesString = new bytes(32);\n        for (uint j=0; j < 32; j++) {\n            byte char = byte(bytes32(uint(data) * 2 ** (8 * j)));\n            if (char != 0) {\n                bytesString[j] = char;\n            }\n        }\n        return string(bytesString);\n    }\n\n    function calcDealBytes(bytes32 branch, address forkonomicToken, int balanceChange, int compensation) \n    public returns(bytes32) {\n        bytes32 deal = keccak256(abi.encodePacked(branch, forkonomicToken, balanceChange, compensation, msg.sender));\n        return deal;\n    }\n}",
  "sourcePath": "@josojo/forkonomics-contracts/contracts/ForkonomicETTF.sol",
  "ast": {
    "absolutePath": "@josojo/forkonomics-contracts/contracts/ForkonomicETTF.sol",
    "exportedSymbols": {
      "ForkonomicETTF": [
        4853
      ]
    },
    "id": 4854,
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 4251,
        "literals": [
          "solidity",
          "^",
          "0.4",
          ".22"
        ],
        "nodeType": "PragmaDirective",
        "src": "0:24:13"
      },
      {
        "absolutePath": "@josojo/forkonomics-contracts/contracts/ForkonomicToken.sol",
        "file": "./ForkonomicToken.sol",
        "id": 4252,
        "nodeType": "ImportDirective",
        "scope": 4854,
        "sourceUnit": 6227,
        "src": "26:31:13",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "@realitio/realitio-contracts/truffle/contracts/Realitio.sol",
        "file": "@realitio/realitio-contracts/truffle/contracts/Realitio.sol",
        "id": 4253,
        "nodeType": "ImportDirective",
        "scope": 4854,
        "sourceUnit": 8290,
        "src": "58:69:13",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "@josojo/forkonomics-contracts/contracts/ForkonomicSystem.sol",
        "file": "./ForkonomicSystem.sol",
        "id": 4254,
        "nodeType": "ImportDirective",
        "scope": 4854,
        "sourceUnit": 5271,
        "src": "128:32:13",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "baseContracts": [
          {
            "arguments": null,
            "baseName": {
              "contractScope": null,
              "id": 4255,
              "name": "ForkonomicToken",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 6226,
              "src": "190:15:13",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_ForkonomicToken_$6226",
                "typeString": "contract ForkonomicToken"
              }
            },
            "id": 4256,
            "nodeType": "InheritanceSpecifier",
            "src": "190:15:13"
          }
        ],
        "contractDependencies": [
          6226
        ],
        "contractKind": "contract",
        "documentation": null,
        "fullyImplemented": true,
        "id": 4853,
        "linearizedBaseContracts": [
          4853,
          6226
        ],
        "name": "ForkonomicETTF",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "anonymous": false,
            "documentation": null,
            "id": 4268,
            "name": "NewDealProposed",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 4267,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4258,
                  "indexed": false,
                  "name": "branch",
                  "nodeType": "VariableDeclaration",
                  "scope": 4268,
                  "src": "256:14:13",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 4257,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "256:7:13",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4260,
                  "indexed": false,
                  "name": "forkonomicToken",
                  "nodeType": "VariableDeclaration",
                  "scope": 4268,
                  "src": "280:23:13",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 4259,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "280:7:13",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4262,
                  "indexed": false,
                  "name": "balanceChange_",
                  "nodeType": "VariableDeclaration",
                  "scope": 4268,
                  "src": "313:18:13",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_int256",
                    "typeString": "int256"
                  },
                  "typeName": {
                    "id": 4261,
                    "name": "int",
                    "nodeType": "ElementaryTypeName",
                    "src": "313:3:13",
                    "typeDescriptions": {
                      "typeIdentifier": "t_int256",
                      "typeString": "int256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4264,
                  "indexed": false,
                  "name": "compensation",
                  "nodeType": "VariableDeclaration",
                  "scope": 4268,
                  "src": "341:17:13",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_int256",
                    "typeString": "int256"
                  },
                  "typeName": {
                    "id": 4263,
                    "name": "int",
                    "nodeType": "ElementaryTypeName",
                    "src": "341:3:13",
                    "typeDescriptions": {
                      "typeIdentifier": "t_int256",
                      "typeString": "int256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4266,
                  "indexed": false,
                  "name": "sender",
                  "nodeType": "VariableDeclaration",
                  "scope": 4268,
                  "src": "368:14:13",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 4265,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "368:7:13",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "246:137:13"
            },
            "src": "225:159:13"
          },
          {
            "constant": true,
            "id": 4271,
            "name": "name",
            "nodeType": "VariableDeclaration",
            "scope": 4853,
            "src": "415:47:13",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_string_memory",
              "typeString": "string"
            },
            "typeName": {
              "id": 4269,
              "name": "string",
              "nodeType": "ElementaryTypeName",
              "src": "415:6:13",
              "typeDescriptions": {
                "typeIdentifier": "t_string_storage_ptr",
                "typeString": "string"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "466f726b6f6e6f6d69637345545446",
              "id": 4270,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "string",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "445:17:13",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_stringliteral_b31200dbe63df8543ac795b89e83ccc6e5c30227dafb0485c56931dff386d639",
                "typeString": "literal_string \"ForkonomicsETTF\""
              },
              "value": "ForkonomicsETTF"
            },
            "visibility": "public"
          },
          {
            "constant": true,
            "id": 4274,
            "name": "symbol",
            "nodeType": "VariableDeclaration",
            "scope": 4853,
            "src": "468:39:13",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_string_memory",
              "typeString": "string"
            },
            "typeName": {
              "id": 4272,
              "name": "string",
              "nodeType": "ElementaryTypeName",
              "src": "468:6:13",
              "typeDescriptions": {
                "typeIdentifier": "t_string_storage_ptr",
                "typeString": "string"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "4645545446",
              "id": 4273,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "string",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "500:7:13",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_stringliteral_8be7f6f1521403d25fce58027d3b3dd06af4935e1134dedb71f1a73aa33d6fc0",
                "typeString": "literal_string \"FETTF\""
              },
              "value": "FETTF"
            },
            "visibility": "public"
          },
          {
            "constant": true,
            "id": 4277,
            "name": "decimals",
            "nodeType": "VariableDeclaration",
            "scope": 4853,
            "src": "513:35:13",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint8",
              "typeString": "uint8"
            },
            "typeName": {
              "id": 4275,
              "name": "uint8",
              "nodeType": "ElementaryTypeName",
              "src": "513:5:13",
              "typeDescriptions": {
                "typeIdentifier": "t_uint8",
                "typeString": "uint8"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "3138",
              "id": 4276,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "number",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "546:2:13",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_rational_18_by_1",
                "typeString": "int_const 18"
              },
              "value": "18"
            },
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 4279,
            "name": "realityCheck",
            "nodeType": "VariableDeclaration",
            "scope": 4853,
            "src": "623:28:13",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_contract$_Realitio_$8289",
              "typeString": "contract Realitio"
            },
            "typeName": {
              "contractScope": null,
              "id": 4278,
              "name": "Realitio",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 8289,
              "src": "623:8:13",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_Realitio_$8289",
                "typeString": "contract Realitio"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 4285,
            "name": "fundHoldingChange",
            "nodeType": "VariableDeclaration",
            "scope": 4853,
            "src": "691:68:13",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_address_$_t_int256_$_$",
              "typeString": "mapping(bytes32 => mapping(address => int256))"
            },
            "typeName": {
              "id": 4284,
              "keyType": {
                "id": 4280,
                "name": "bytes32",
                "nodeType": "ElementaryTypeName",
                "src": "699:7:13",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes32",
                  "typeString": "bytes32"
                }
              },
              "nodeType": "Mapping",
              "src": "691:43:13",
              "typeDescriptions": {
                "typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_address_$_t_int256_$_$",
                "typeString": "mapping(bytes32 => mapping(address => int256))"
              },
              "valueType": {
                "id": 4283,
                "keyType": {
                  "id": 4281,
                  "name": "address",
                  "nodeType": "ElementaryTypeName",
                  "src": "718:7:13",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                },
                "nodeType": "Mapping",
                "src": "710:23:13",
                "typeDescriptions": {
                  "typeIdentifier": "t_mapping$_t_address_$_t_int256_$",
                  "typeString": "mapping(address => int256)"
                },
                "valueType": {
                  "id": 4282,
                  "name": "int",
                  "nodeType": "ElementaryTypeName",
                  "src": "729:3:13",
                  "typeDescriptions": {
                    "typeIdentifier": "t_int256",
                    "typeString": "int256"
                  }
                }
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 4289,
            "name": "fETTFbalanceChange",
            "nodeType": "VariableDeclaration",
            "scope": 4853,
            "src": "800:49:13",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_mapping$_t_bytes32_$_t_int256_$",
              "typeString": "mapping(bytes32 => int256)"
            },
            "typeName": {
              "id": 4288,
              "keyType": {
                "id": 4286,
                "name": "bytes32",
                "nodeType": "ElementaryTypeName",
                "src": "808:7:13",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes32",
                  "typeString": "bytes32"
                }
              },
              "nodeType": "Mapping",
              "src": "800:23:13",
              "typeDescriptions": {
                "typeIdentifier": "t_mapping$_t_bytes32_$_t_int256_$",
                "typeString": "mapping(bytes32 => int256)"
              },
              "valueType": {
                "id": 4287,
                "name": "int",
                "nodeType": "ElementaryTypeName",
                "src": "819:3:13",
                "typeDescriptions": {
                  "typeIdentifier": "t_int256",
                  "typeString": "int256"
                }
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 4292,
            "name": "templateId",
            "nodeType": "VariableDeclaration",
            "scope": 4853,
            "src": "861:27:13",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 4290,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "861:7:13",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "30",
              "id": 4291,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "number",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "887:1:13",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_rational_0_by_1",
                "typeString": "int_const 0"
              },
              "value": "0"
            },
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 4295,
            "name": "minBond",
            "nodeType": "VariableDeclaration",
            "scope": 4853,
            "src": "894:35:13",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 4293,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "894:7:13",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "35303030303030303030",
              "id": 4294,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "number",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "919:10:13",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_rational_5000000000_by_1",
                "typeString": "int_const 5000000000"
              },
              "value": "5000000000"
            },
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 4298,
            "name": "minTimeout",
            "nodeType": "VariableDeclaration",
            "scope": 4853,
            "src": "935:30:13",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint32",
              "typeString": "uint32"
            },
            "typeName": {
              "id": 4296,
              "name": "uint32",
              "nodeType": "ElementaryTypeName",
              "src": "935:6:13",
              "typeDescriptions": {
                "typeIdentifier": "t_uint32",
                "typeString": "uint32"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "31303030",
              "id": 4297,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "number",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "961:4:13",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_rational_1000_by_1",
                "typeString": "int_const 1000"
              },
              "value": "1000"
            },
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 4300,
            "name": "openingTs",
            "nodeType": "VariableDeclaration",
            "scope": 4853,
            "src": "971:23:13",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint32",
              "typeString": "uint32"
            },
            "typeName": {
              "id": 4299,
              "name": "uint32",
              "nodeType": "ElementaryTypeName",
              "src": "971:6:13",
              "typeDescriptions": {
                "typeIdentifier": "t_uint32",
                "typeString": "uint32"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 4303,
            "name": "minQuestionFunding",
            "nodeType": "VariableDeclaration",
            "scope": 4853,
            "src": "1000:51:13",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 4301,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "1000:7:13",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "35303030303030303030303030303030",
              "id": 4302,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "number",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "1035:16:13",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_rational_5000000000000000_by_1",
                "typeString": "int_const 5000000000000000"
              },
              "value": "5000000000000000"
            },
            "visibility": "public"
          },
          {
            "body": {
              "id": 4321,
              "nodeType": "Block",
              "src": "1316:45:13",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 4319,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 4317,
                      "name": "realityCheck",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 4279,
                      "src": "1326:12:13",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_Realitio_$8289",
                        "typeString": "contract Realitio"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 4318,
                      "name": "realityCheck_",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 4305,
                      "src": "1341:13:13",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_Realitio_$8289",
                        "typeString": "contract Realitio"
                      }
                    },
                    "src": "1326:28:13",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_Realitio_$8289",
                      "typeString": "contract Realitio"
                    }
                  },
                  "id": 4320,
                  "nodeType": "ExpressionStatement",
                  "src": "1326:28:13"
                }
              ]
            },
            "documentation": null,
            "id": 4322,
            "implemented": true,
            "isConstructor": true,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "id": 4313,
                    "name": "fSystem_",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 4307,
                    "src": "1285:8:13",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_ForkonomicSystem_$5270",
                      "typeString": "contract ForkonomicSystem"
                    }
                  },
                  {
                    "argumentTypes": null,
                    "id": 4314,
                    "name": "funding",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 4310,
                    "src": "1295:7:13",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                      "typeString": "address[] memory"
                    }
                  }
                ],
                "id": 4315,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 4312,
                  "name": "ForkonomicToken",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 6226,
                  "src": "1269:15:13",
                  "typeDescriptions": {
                    "typeIdentifier": "t_type$_t_contract$_ForkonomicToken_$6226_$",
                    "typeString": "type(contract ForkonomicToken)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "1269:34:13"
              }
            ],
            "name": "",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 4311,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4305,
                  "name": "realityCheck_",
                  "nodeType": "VariableDeclaration",
                  "scope": 4322,
                  "src": "1172:22:13",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_Realitio_$8289",
                    "typeString": "contract Realitio"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 4304,
                    "name": "Realitio",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 8289,
                    "src": "1172:8:13",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_Realitio_$8289",
                      "typeString": "contract Realitio"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4307,
                  "name": "fSystem_",
                  "nodeType": "VariableDeclaration",
                  "scope": 4322,
                  "src": "1205:25:13",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_ForkonomicSystem_$5270",
                    "typeString": "contract ForkonomicSystem"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 4306,
                    "name": "ForkonomicSystem",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 5270,
                    "src": "1205:16:13",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_ForkonomicSystem_$5270",
                      "typeString": "contract ForkonomicSystem"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4310,
                  "name": "funding",
                  "nodeType": "VariableDeclaration",
                  "scope": 4322,
                  "src": "1240:18:13",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                    "typeString": "address[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 4308,
                      "name": "address",
                      "nodeType": "ElementaryTypeName",
                      "src": "1240:7:13",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "id": 4309,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "1240:10:13",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
                      "typeString": "address[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1162:102:13"
            },
            "payable": false,
            "returnParameters": {
              "id": 4316,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1316:0:13"
            },
            "scope": 4853,
            "src": "1151:210:13",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 4456,
              "nodeType": "Block",
              "src": "1688:1199:13",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 4345,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 4339,
                      "name": "openingTs",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 4300,
                      "src": "1725:9:13",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint32",
                        "typeString": "uint32"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 4343,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "id": 4341,
                            "name": "now",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8525,
                            "src": "1744:3:13",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "+",
                          "rightExpression": {
                            "argumentTypes": null,
                            "hexValue": "3330",
                            "id": 4342,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "1750:7:13",
                            "subdenomination": "days",
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_2592000_by_1",
                              "typeString": "int_const 2592000"
                            },
                            "value": "30"
                          },
                          "src": "1744:13:13",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        ],
                        "id": 4340,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "nodeType": "ElementaryTypeNameExpression",
                        "src": "1737:6:13",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_uint32_$",
                          "typeString": "type(uint32)"
                        },
                        "typeName": "uint32"
                      },
                      "id": 4344,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "typeConversion",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "1737:21:13",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint32",
                        "typeString": "uint32"
                      }
                    },
                    "src": "1725:33:13",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint32",
                      "typeString": "uint32"
                    }
                  },
                  "id": 4346,
                  "nodeType": "ExpressionStatement",
                  "src": "1725:33:13"
                },
                {
                  "assignments": [
                    4348
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 4348,
                      "name": "deal",
                      "nodeType": "VariableDeclaration",
                      "scope": 4457,
                      "src": "1768:12:13",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      },
                      "typeName": {
                        "id": 4347,
                        "name": "bytes32",
                        "nodeType": "ElementaryTypeName",
                        "src": "1768:7:13",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 4360,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 4352,
                            "name": "branch",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4324,
                            "src": "1810:6:13",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 4353,
                            "name": "forkonomicToken",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4326,
                            "src": "1818:15:13",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 4354,
                            "name": "balanceChange",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4328,
                            "src": "1835:13:13",
                            "typeDescriptions": {
                              "typeIdentifier": "t_int256",
                              "typeString": "int256"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 4355,
                            "name": "compensation",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4330,
                            "src": "1850:12:13",
                            "typeDescriptions": {
                              "typeIdentifier": "t_int256",
                              "typeString": "int256"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 4356,
                              "name": "msg",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8523,
                              "src": "1864:3:13",
                              "typeDescriptions": {
                                "typeIdentifier": "t_magic_message",
                                "typeString": "msg"
                              }
                            },
                            "id": 4357,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "sender",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": null,
                            "src": "1864:10:13",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            },
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            },
                            {
                              "typeIdentifier": "t_int256",
                              "typeString": "int256"
                            },
                            {
                              "typeIdentifier": "t_int256",
                              "typeString": "int256"
                            },
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "id": 4350,
                            "name": "abi",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8510,
                            "src": "1793:3:13",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_abi",
                              "typeString": "abi"
                            }
                          },
                          "id": 4351,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberName": "encodePacked",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "1793:16:13",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                            "typeString": "function () pure returns (bytes memory)"
                          }
                        },
                        "id": 4358,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "1793:82:13",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      ],
                      "id": 4349,
                      "name": "keccak256",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 8517,
                      "src": "1783:9:13",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
                        "typeString": "function () pure returns (bytes32)"
                      }
                    },
                    "id": 4359,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1783:93:13",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "1768:108:13"
                },
                {
                  "assignments": [
                    4362
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 4362,
                      "name": "question",
                      "nodeType": "VariableDeclaration",
                      "scope": 4457,
                      "src": "1886:22:13",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_memory_ptr",
                        "typeString": "string"
                      },
                      "typeName": {
                        "id": 4361,
                        "name": "string",
                        "nodeType": "ElementaryTypeName",
                        "src": "1886:6:13",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_storage_ptr",
                          "typeString": "string"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 4375,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "hexValue": "46726f6d20616c6c206f666665727320666f72207468652066455454462c2074686520666f6c6c6f77696e67206465616c207761732074686520626573743a",
                            "id": 4366,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "string",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "1935:65:13",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_stringliteral_fbd8dd6195a7b9dc45c0335ee9299d06289ca50de6fafdfdbc252303313bb4d7",
                              "typeString": "literal_string \"From all offers for the fETTF, the following deal was the best:\""
                            },
                            "value": "From all offers for the fETTF, the following deal was the best:"
                          },
                          {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "arguments": [
                                  {
                                    "argumentTypes": null,
                                    "id": 4369,
                                    "name": "deal",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 4348,
                                    "src": "2026:4:13",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bytes32",
                                      "typeString": "bytes32"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_bytes32",
                                      "typeString": "bytes32"
                                    }
                                  ],
                                  "id": 4368,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "nodeType": "ElementaryTypeNameExpression",
                                  "src": "2018:7:13",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_type$_t_bytes32_$",
                                    "typeString": "type(bytes32)"
                                  },
                                  "typeName": "bytes32"
                                },
                                "id": 4370,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "typeConversion",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "2018:13:13",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              ],
                              "id": 4367,
                              "name": "bytes32ToString",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 4822,
                              "src": "2002:15:13",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$_t_string_memory_ptr_$",
                                "typeString": "function (bytes32) returns (string memory)"
                              }
                            },
                            "id": 4371,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "2002:30:13",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "hexValue": "3f",
                            "id": 4372,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "string",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "2034:3:13",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_stringliteral_5f179612d7132c8ed24ba0e286d60d398c4aa1c234eb2274ca1bba47718e9d31",
                              "typeString": "literal_string \"?\""
                            },
                            "value": "?"
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_stringliteral_fbd8dd6195a7b9dc45c0335ee9299d06289ca50de6fafdfdbc252303313bb4d7",
                              "typeString": "literal_string \"From all offers for the fETTF, the following deal was the best:\""
                            },
                            {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            },
                            {
                              "typeIdentifier": "t_stringliteral_5f179612d7132c8ed24ba0e286d60d398c4aa1c234eb2274ca1bba47718e9d31",
                              "typeString": "literal_string \"?\""
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "id": 4364,
                            "name": "abi",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8510,
                            "src": "1918:3:13",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_abi",
                              "typeString": "abi"
                            }
                          },
                          "id": 4365,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberName": "encodePacked",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "1918:16:13",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                            "typeString": "function () pure returns (bytes memory)"
                          }
                        },
                        "id": 4373,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "1918:120:13",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      ],
                      "id": 4363,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "nodeType": "ElementaryTypeNameExpression",
                      "src": "1911:6:13",
                      "typeDescriptions": {
                        "typeIdentifier": "t_type$_t_string_storage_ptr_$",
                        "typeString": "type(string storage pointer)"
                      },
                      "typeName": "string"
                    },
                    "id": 4374,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "typeConversion",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1911:128:13",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory",
                      "typeString": "string memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "1886:153:13"
                },
                {
                  "assignments": [
                    4377
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 4377,
                      "name": "questionId",
                      "nodeType": "VariableDeclaration",
                      "scope": 4457,
                      "src": "2148:18:13",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      },
                      "typeName": {
                        "id": 4376,
                        "name": "bytes32",
                        "nodeType": "ElementaryTypeName",
                        "src": "2148:7:13",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 4392,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 4385,
                        "name": "templateId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4292,
                        "src": "2217:10:13",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 4386,
                        "name": "question",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4362,
                        "src": "2229:8:13",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 4387,
                        "name": "arbitrator",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4332,
                        "src": "2239:10:13",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 4388,
                        "name": "minTimeout",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4298,
                        "src": "2251:10:13",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint32",
                          "typeString": "uint32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 4389,
                        "name": "openingTs",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4300,
                        "src": "2263:9:13",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint32",
                          "typeString": "uint32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "30",
                        "id": 4390,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "2274:1:13",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_0_by_1",
                          "typeString": "int_const 0"
                        },
                        "value": "0"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint32",
                          "typeString": "uint32"
                        },
                        {
                          "typeIdentifier": "t_uint32",
                          "typeString": "uint32"
                        },
                        {
                          "typeIdentifier": "t_rational_0_by_1",
                          "typeString": "int_const 0"
                        }
                      ],
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_rational_5000000000000_by_1",
                            "typeString": "int_const 5000000000000"
                          },
                          "id": 4383,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "hexValue": "35",
                            "id": 4381,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "2200:1:13",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_5_by_1",
                              "typeString": "int_const 5"
                            },
                            "value": "5"
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "*",
                          "rightExpression": {
                            "argumentTypes": null,
                            "hexValue": "31303030303030303030303030",
                            "id": 4382,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "2202:13:13",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_1000000000000_by_1",
                              "typeString": "int_const 1000000000000"
                            },
                            "value": "1000000000000"
                          },
                          "src": "2200:15:13",
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_5000000000000_by_1",
                            "typeString": "int_const 5000000000000"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_rational_5000000000000_by_1",
                            "typeString": "int_const 5000000000000"
                          }
                        ],
                        "expression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 4378,
                            "name": "realityCheck",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4279,
                            "src": "2169:12:13",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_Realitio_$8289",
                              "typeString": "contract Realitio"
                            }
                          },
                          "id": 4379,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "askQuestion",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 6912,
                          "src": "2169:24:13",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_payable$_t_uint256_$_t_string_memory_ptr_$_t_address_$_t_uint32_$_t_uint32_$_t_uint256_$returns$_t_bytes32_$",
                            "typeString": "function (uint256,string memory,address,uint32,uint32,uint256) payable external returns (bytes32)"
                          }
                        },
                        "id": 4380,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "value",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": null,
                        "src": "2169:30:13",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_setvalue_nonpayable$_t_uint256_$returns$_t_function_external_payable$_t_uint256_$_t_string_memory_ptr_$_t_address_$_t_uint32_$_t_uint32_$_t_uint256_$returns$_t_bytes32_$value_$",
                          "typeString": "function (uint256) returns (function (uint256,string memory,address,uint32,uint32,uint256) payable external returns (bytes32))"
                        }
                      },
                      "id": 4384,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "2169:47:13",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_payable$_t_uint256_$_t_string_memory_ptr_$_t_address_$_t_uint32_$_t_uint32_$_t_uint256_$returns$_t_bytes32_$value",
                        "typeString": "function (uint256,string memory,address,uint32,uint32,uint256) payable external returns (bytes32)"
                      }
                    },
                    "id": 4391,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2169:107:13",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "2148:128:13"
                },
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_int256",
                      "typeString": "int256"
                    },
                    "id": 4395,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 4393,
                      "name": "balanceChange",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 4328,
                      "src": "2333:13:13",
                      "typeDescriptions": {
                        "typeIdentifier": "t_int256",
                        "typeString": "int256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": ">",
                    "rightExpression": {
                      "argumentTypes": null,
                      "hexValue": "30",
                      "id": 4394,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "2349:1:13",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "src": "2333:17:13",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "id": 4436,
                    "nodeType": "Block",
                    "src": "2541:121:13",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "commonType": {
                                "typeIdentifier": "t_int256",
                                "typeString": "int256"
                              },
                              "id": 4423,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftExpression": {
                                "argumentTypes": null,
                                "id": 4421,
                                "name": "compensation",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 4330,
                                "src": "2562:12:13",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_int256",
                                  "typeString": "int256"
                                }
                              },
                              "nodeType": "BinaryOperation",
                              "operator": ">",
                              "rightExpression": {
                                "argumentTypes": null,
                                "hexValue": "30",
                                "id": 4422,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "number",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "2577:1:13",
                                "subdenomination": null,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_rational_0_by_1",
                                  "typeString": "int_const 0"
                                },
                                "value": "0"
                              },
                              "src": "2562:16:13",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            ],
                            "id": 4420,
                            "name": "require",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [
                              8526,
                              8527
                            ],
                            "referencedDeclaration": 8526,
                            "src": "2554:7:13",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
                              "typeString": "function (bool) pure"
                            }
                          },
                          "id": 4424,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "2554:25:13",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 4425,
                        "nodeType": "ExpressionStatement",
                        "src": "2554:25:13"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "expression": {
                                "argumentTypes": null,
                                "id": 4427,
                                "name": "msg",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 8523,
                                "src": "2605:3:13",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_magic_message",
                                  "typeString": "msg"
                                }
                              },
                              "id": 4428,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "sender",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": null,
                              "src": "2605:10:13",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "id": 4429,
                              "name": "this",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8586,
                              "src": "2617:4:13",
                              "typeDescriptions": {
                                "typeIdentifier": "t_contract$_ForkonomicETTF_$4853",
                                "typeString": "contract ForkonomicETTF"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "arguments": [
                                {
                                  "argumentTypes": null,
                                  "id": 4431,
                                  "name": "compensation",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 4330,
                                  "src": "2628:12:13",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_int256",
                                    "typeString": "int256"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_int256",
                                    "typeString": "int256"
                                  }
                                ],
                                "id": 4430,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "lValueRequested": false,
                                "nodeType": "ElementaryTypeNameExpression",
                                "src": "2623:4:13",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_uint256_$",
                                  "typeString": "type(uint256)"
                                },
                                "typeName": "uint"
                              },
                              "id": 4432,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "typeConversion",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "2623:18:13",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "id": 4433,
                              "name": "branch",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 4324,
                              "src": "2643:6:13",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              },
                              {
                                "typeIdentifier": "t_contract$_ForkonomicETTF_$4853",
                                "typeString": "contract ForkonomicETTF"
                              },
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            ],
                            "id": 4426,
                            "name": "transferFrom",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 5822,
                            "src": "2592:12:13",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes32_$returns$_t_bool_$",
                              "typeString": "function (address,address,uint256,bytes32) returns (bool)"
                            }
                          },
                          "id": 4434,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "2592:58:13",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "id": 4435,
                        "nodeType": "ExpressionStatement",
                        "src": "2592:58:13"
                      }
                    ]
                  },
                  "id": 4437,
                  "nodeType": "IfStatement",
                  "src": "2329:333:13",
                  "trueBody": {
                    "id": 4419,
                    "nodeType": "Block",
                    "src": "2352:183:13",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "commonType": {
                                "typeIdentifier": "t_int256",
                                "typeString": "int256"
                              },
                              "id": 4399,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftExpression": {
                                "argumentTypes": null,
                                "id": 4397,
                                "name": "compensation",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 4330,
                                "src": "2374:12:13",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_int256",
                                  "typeString": "int256"
                                }
                              },
                              "nodeType": "BinaryOperation",
                              "operator": "<",
                              "rightExpression": {
                                "argumentTypes": null,
                                "hexValue": "30",
                                "id": 4398,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "number",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "2389:1:13",
                                "subdenomination": null,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_rational_0_by_1",
                                  "typeString": "int_const 0"
                                },
                                "value": "0"
                              },
                              "src": "2374:16:13",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            ],
                            "id": 4396,
                            "name": "require",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [
                              8526,
                              8527
                            ],
                            "referencedDeclaration": 8526,
                            "src": "2366:7:13",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
                              "typeString": "function (bool) pure"
                            }
                          },
                          "id": 4400,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "2366:25:13",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 4401,
                        "nodeType": "ExpressionStatement",
                        "src": "2366:25:13"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "arguments": [
                                {
                                  "argumentTypes": null,
                                  "expression": {
                                    "argumentTypes": null,
                                    "id": 4407,
                                    "name": "msg",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 8523,
                                    "src": "2462:3:13",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_magic_message",
                                      "typeString": "msg"
                                    }
                                  },
                                  "id": 4408,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberName": "sender",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": null,
                                  "src": "2462:10:13",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                  }
                                },
                                {
                                  "argumentTypes": null,
                                  "id": 4409,
                                  "name": "this",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 8586,
                                  "src": "2474:4:13",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_contract$_ForkonomicETTF_$4853",
                                    "typeString": "contract ForkonomicETTF"
                                  }
                                },
                                {
                                  "argumentTypes": null,
                                  "arguments": [
                                    {
                                      "argumentTypes": null,
                                      "id": 4411,
                                      "name": "balanceChange",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 4328,
                                      "src": "2485:13:13",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_int256",
                                        "typeString": "int256"
                                      }
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": [
                                      {
                                        "typeIdentifier": "t_int256",
                                        "typeString": "int256"
                                      }
                                    ],
                                    "id": 4410,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "lValueRequested": false,
                                    "nodeType": "ElementaryTypeNameExpression",
                                    "src": "2480:4:13",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_uint256_$",
                                      "typeString": "type(uint256)"
                                    },
                                    "typeName": "uint"
                                  },
                                  "id": 4412,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "kind": "typeConversion",
                                  "lValueRequested": false,
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "2480:19:13",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                {
                                  "argumentTypes": null,
                                  "id": 4413,
                                  "name": "branch",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 4324,
                                  "src": "2501:6:13",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                },
                                {
                                  "argumentTypes": null,
                                  "id": 4414,
                                  "name": "fromBox",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 4334,
                                  "src": "2509:7:13",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                },
                                {
                                  "argumentTypes": null,
                                  "id": 4415,
                                  "name": "deal",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 4348,
                                  "src": "2518:4:13",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                  },
                                  {
                                    "typeIdentifier": "t_contract$_ForkonomicETTF_$4853",
                                    "typeString": "contract ForkonomicETTF"
                                  },
                                  {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  },
                                  {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  },
                                  {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  },
                                  {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": null,
                                  "arguments": [
                                    {
                                      "argumentTypes": null,
                                      "id": 4404,
                                      "name": "forkonomicToken",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 4326,
                                      "src": "2429:15:13",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                      }
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": [
                                      {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                      }
                                    ],
                                    "id": 4403,
                                    "name": "ForkonomicToken",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 6226,
                                    "src": "2413:15:13",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_contract$_ForkonomicToken_$6226_$",
                                      "typeString": "type(contract ForkonomicToken)"
                                    }
                                  },
                                  "id": 4405,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "kind": "typeConversion",
                                  "lValueRequested": false,
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "2413:32:13",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_contract$_ForkonomicToken_$6226",
                                    "typeString": "contract ForkonomicToken"
                                  }
                                },
                                "id": 4406,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "boxTransferFrom",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 5980,
                                "src": "2413:48:13",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes32_$_t_bytes32_$_t_bytes32_$returns$_t_bool_$",
                                  "typeString": "function (address,address,uint256,bytes32,bytes32,bytes32) external returns (bool)"
                                }
                              },
                              "id": 4416,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "2413:110:13",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            ],
                            "id": 4402,
                            "name": "require",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [
                              8526,
                              8527
                            ],
                            "referencedDeclaration": 8526,
                            "src": "2405:7:13",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
                              "typeString": "function (bool) pure"
                            }
                          },
                          "id": 4417,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "2405:119:13",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 4418,
                        "nodeType": "ExpressionStatement",
                        "src": "2405:119:13"
                      }
                    ]
                  }
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 4442,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 4439,
                            "name": "msg",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8523,
                            "src": "2724:3:13",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_message",
                              "typeString": "msg"
                            }
                          },
                          "id": 4440,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "value",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "2724:9:13",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": ">=",
                        "rightExpression": {
                          "argumentTypes": null,
                          "id": 4441,
                          "name": "minQuestionFunding",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 4303,
                          "src": "2737:18:13",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "src": "2724:31:13",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      ],
                      "id": 4438,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        8526,
                        8527
                      ],
                      "referencedDeclaration": 8526,
                      "src": "2716:7:13",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
                        "typeString": "function (bool) pure"
                      }
                    },
                    "id": 4443,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2716:40:13",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 4444,
                  "nodeType": "ExpressionStatement",
                  "src": "2716:40:13"
                },
                {
                  "eventCall": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 4446,
                        "name": "branch",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4324,
                        "src": "2788:6:13",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 4447,
                        "name": "forkonomicToken",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4326,
                        "src": "2796:15:13",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 4448,
                        "name": "balanceChange",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4328,
                        "src": "2813:13:13",
                        "typeDescriptions": {
                          "typeIdentifier": "t_int256",
                          "typeString": "int256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 4449,
                        "name": "compensation",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4330,
                        "src": "2828:12:13",
                        "typeDescriptions": {
                          "typeIdentifier": "t_int256",
                          "typeString": "int256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 4450,
                          "name": "msg",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8523,
                          "src": "2842:3:13",
                          "typeDescriptions": {
                            "typeIdentifier": "t_magic_message",
                            "typeString": "msg"
                          }
                        },
                        "id": 4451,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "sender",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": null,
                        "src": "2842:10:13",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_int256",
                          "typeString": "int256"
                        },
                        {
                          "typeIdentifier": "t_int256",
                          "typeString": "int256"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      ],
                      "id": 4445,
                      "name": "NewDealProposed",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 4268,
                      "src": "2772:15:13",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_int256_$_t_int256_$_t_address_$returns$__$",
                        "typeString": "function (bytes32,address,int256,int256,address)"
                      }
                    },
                    "id": 4452,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2772:81:13",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 4453,
                  "nodeType": "EmitStatement",
                  "src": "2767:86:13"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 4454,
                    "name": "questionId",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 4377,
                    "src": "2870:10:13",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "functionReturnParameters": 4338,
                  "id": 4455,
                  "nodeType": "Return",
                  "src": "2863:17:13"
                }
              ]
            },
            "documentation": null,
            "id": 4457,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "proposeInvestment",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 4335,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4324,
                  "name": "branch",
                  "nodeType": "VariableDeclaration",
                  "scope": 4457,
                  "src": "1536:14:13",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 4323,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1536:7:13",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4326,
                  "name": "forkonomicToken",
                  "nodeType": "VariableDeclaration",
                  "scope": 4457,
                  "src": "1552:23:13",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 4325,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1552:7:13",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4328,
                  "name": "balanceChange",
                  "nodeType": "VariableDeclaration",
                  "scope": 4457,
                  "src": "1577:17:13",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_int256",
                    "typeString": "int256"
                  },
                  "typeName": {
                    "id": 4327,
                    "name": "int",
                    "nodeType": "ElementaryTypeName",
                    "src": "1577:3:13",
                    "typeDescriptions": {
                      "typeIdentifier": "t_int256",
                      "typeString": "int256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4330,
                  "name": "compensation",
                  "nodeType": "VariableDeclaration",
                  "scope": 4457,
                  "src": "1596:16:13",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_int256",
                    "typeString": "int256"
                  },
                  "typeName": {
                    "id": 4329,
                    "name": "int",
                    "nodeType": "ElementaryTypeName",
                    "src": "1596:3:13",
                    "typeDescriptions": {
                      "typeIdentifier": "t_int256",
                      "typeString": "int256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4332,
                  "name": "arbitrator",
                  "nodeType": "VariableDeclaration",
                  "scope": 4457,
                  "src": "1614:18:13",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 4331,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1614:7:13",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4334,
                  "name": "fromBox",
                  "nodeType": "VariableDeclaration",
                  "scope": 4457,
                  "src": "1634:15:13",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 4333,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1634:7:13",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1535:115:13"
            },
            "payable": true,
            "returnParameters": {
              "id": 4338,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4337,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 4457,
                  "src": "1679:7:13",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 4336,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1679:7:13",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1678:9:13"
            },
            "scope": 4853,
            "src": "1509:1378:13",
            "stateMutability": "payable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 4666,
              "nodeType": "Block",
              "src": "3214:2531:13",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 4479,
                            "name": "originalbranch",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4463,
                            "src": "3327:14:13",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 4480,
                            "name": "executionbranch",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4461,
                            "src": "3343:15:13",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            },
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "id": 4477,
                            "name": "fSystem",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 5345,
                            "src": "3302:7:13",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_ForkonomicSystem_$5270",
                              "typeString": "contract ForkonomicSystem"
                            }
                          },
                          "id": 4478,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "isFatherOfBranch",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 5269,
                          "src": "3302:24:13",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_bytes32_$returns$_t_bool_$",
                            "typeString": "function (bytes32,bytes32) view external returns (bool)"
                          }
                        },
                        "id": 4481,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "3302:57:13",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "206272616e6368206973206e6f742061206368696c64206f66206f726967696e616c206272616e6368",
                        "id": 4482,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "3361:43:13",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_46ebfa022c3b924ef02ec8a758dfe75f447dfde9369dc8a4799c9037a84d2ffe",
                          "typeString": "literal_string \" branch is not a child of original branch\""
                        },
                        "value": " branch is not a child of original branch"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_46ebfa022c3b924ef02ec8a758dfe75f447dfde9369dc8a4799c9037a84d2ffe",
                          "typeString": "literal_string \" branch is not a child of original branch\""
                        }
                      ],
                      "id": 4476,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        8526,
                        8527
                      ],
                      "referencedDeclaration": 8527,
                      "src": "3294:7:13",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 4483,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3294:111:13",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 4484,
                  "nodeType": "ExpressionStatement",
                  "src": "3294:111:13"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 4488,
                            "name": "arbitrator",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4471,
                            "src": "3507:10:13",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 4489,
                            "name": "executionbranch",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4461,
                            "src": "3519:15:13",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            },
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "id": 4486,
                            "name": "fSystem",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 5345,
                            "src": "3475:7:13",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_ForkonomicSystem_$5270",
                              "typeString": "contract ForkonomicSystem"
                            }
                          },
                          "id": 4487,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "isArbitratorWhitelisted",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 5152,
                          "src": "3475:31:13",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_view$_t_address_$_t_bytes32_$returns$_t_bool_$",
                            "typeString": "function (address,bytes32) view external returns (bool)"
                          }
                        },
                        "id": 4490,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "3475:60:13",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "61726269747261746f72206973206e6f742077686974652d6c6973746564",
                        "id": 4491,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "3537:32:13",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_f84fd87c92ae620f7831938d14e18b2a487699f26b9d25a68929007d7cb502c6",
                          "typeString": "literal_string \"arbitrator is not white-listed\""
                        },
                        "value": "arbitrator is not white-listed"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_f84fd87c92ae620f7831938d14e18b2a487699f26b9d25a68929007d7cb502c6",
                          "typeString": "literal_string \"arbitrator is not white-listed\""
                        }
                      ],
                      "id": 4485,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        8526,
                        8527
                      ],
                      "referencedDeclaration": 8527,
                      "src": "3467:7:13",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 4492,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3467:103:13",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 4493,
                  "nodeType": "ExpressionStatement",
                  "src": "3467:103:13"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "id": 4499,
                                "name": "questionId",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 4459,
                                "src": "3647:10:13",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              ],
                              "expression": {
                                "argumentTypes": null,
                                "id": 4497,
                                "name": "realityCheck",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 4279,
                                "src": "3620:12:13",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_contract$_Realitio_$8289",
                                  "typeString": "contract Realitio"
                                }
                              },
                              "id": 4498,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "getFinalizeTS",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 8223,
                              "src": "3620:26:13",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_uint32_$",
                                "typeString": "function (bytes32) view external returns (uint32)"
                              }
                            },
                            "id": 4500,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "3620:38:13",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint32",
                              "typeString": "uint32"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 4501,
                            "name": "executionbranch",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4461,
                            "src": "3660:15:13",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_uint32",
                              "typeString": "uint32"
                            },
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "id": 4495,
                            "name": "fSystem",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 5345,
                            "src": "3589:7:13",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_ForkonomicSystem_$5270",
                              "typeString": "contract ForkonomicSystem"
                            }
                          },
                          "id": 4496,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "isBranchCreatedAfterTS",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 5215,
                          "src": "3589:30:13",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_view$_t_uint256_$_t_bytes32_$returns$_t_bool_$",
                            "typeString": "function (uint256,bytes32) view external returns (bool)"
                          }
                        },
                        "id": 4502,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "3589:87:13",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "77696e646f77202b2074696d6520206973206e6f7420636f7272656374",
                        "id": 4503,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "3678:31:13",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_df287d9abd71b3487296293693b54ca7fcab91d1b10e393da43053b7747e0814",
                          "typeString": "literal_string \"window + time  is not correct\""
                        },
                        "value": "window + time  is not correct"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_df287d9abd71b3487296293693b54ca7fcab91d1b10e393da43053b7747e0814",
                          "typeString": "literal_string \"window + time  is not correct\""
                        }
                      ],
                      "id": 4494,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        8526,
                        8527
                      ],
                      "referencedDeclaration": 8527,
                      "src": "3581:7:13",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 4504,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3581:129:13",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 4505,
                  "nodeType": "ExpressionStatement",
                  "src": "3581:129:13"
                },
                {
                  "assignments": [
                    4507
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 4507,
                      "name": "deal",
                      "nodeType": "VariableDeclaration",
                      "scope": 4667,
                      "src": "3761:12:13",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      },
                      "typeName": {
                        "id": 4506,
                        "name": "bytes32",
                        "nodeType": "ElementaryTypeName",
                        "src": "3761:7:13",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 4519,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 4511,
                            "name": "originalbranch",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4463,
                            "src": "3803:14:13",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 4512,
                            "name": "forkonomicToken",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4465,
                            "src": "3819:15:13",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 4513,
                            "name": "balanceChange_",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4467,
                            "src": "3836:14:13",
                            "typeDescriptions": {
                              "typeIdentifier": "t_int256",
                              "typeString": "int256"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 4514,
                            "name": "compensation",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4469,
                            "src": "3852:12:13",
                            "typeDescriptions": {
                              "typeIdentifier": "t_int256",
                              "typeString": "int256"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 4515,
                              "name": "msg",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8523,
                              "src": "3866:3:13",
                              "typeDescriptions": {
                                "typeIdentifier": "t_magic_message",
                                "typeString": "msg"
                              }
                            },
                            "id": 4516,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "sender",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": null,
                            "src": "3866:10:13",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            },
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            },
                            {
                              "typeIdentifier": "t_int256",
                              "typeString": "int256"
                            },
                            {
                              "typeIdentifier": "t_int256",
                              "typeString": "int256"
                            },
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "id": 4509,
                            "name": "abi",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8510,
                            "src": "3786:3:13",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_abi",
                              "typeString": "abi"
                            }
                          },
                          "id": 4510,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberName": "encodePacked",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "3786:16:13",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                            "typeString": "function () pure returns (bytes memory)"
                          }
                        },
                        "id": 4517,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "3786:91:13",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      ],
                      "id": 4508,
                      "name": "keccak256",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 8517,
                      "src": "3776:9:13",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
                        "typeString": "function () pure returns (bytes32)"
                      }
                    },
                    "id": 4518,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3776:102:13",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "3761:117:13"
                },
                {
                  "assignments": [
                    4521
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 4521,
                      "name": "question",
                      "nodeType": "VariableDeclaration",
                      "scope": 4667,
                      "src": "3888:22:13",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_memory_ptr",
                        "typeString": "string"
                      },
                      "typeName": {
                        "id": 4520,
                        "name": "string",
                        "nodeType": "ElementaryTypeName",
                        "src": "3888:6:13",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_storage_ptr",
                          "typeString": "string"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 4534,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "hexValue": "46726f6d20616c6c206f666665727320666f72207468652066455454462c2074686520666f6c6c6f77696e67206465616c207761732074686520626573743a",
                            "id": 4525,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "string",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "3937:65:13",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_stringliteral_fbd8dd6195a7b9dc45c0335ee9299d06289ca50de6fafdfdbc252303313bb4d7",
                              "typeString": "literal_string \"From all offers for the fETTF, the following deal was the best:\""
                            },
                            "value": "From all offers for the fETTF, the following deal was the best:"
                          },
                          {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "arguments": [
                                  {
                                    "argumentTypes": null,
                                    "id": 4528,
                                    "name": "deal",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 4507,
                                    "src": "4028:4:13",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bytes32",
                                      "typeString": "bytes32"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_bytes32",
                                      "typeString": "bytes32"
                                    }
                                  ],
                                  "id": 4527,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "nodeType": "ElementaryTypeNameExpression",
                                  "src": "4020:7:13",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_type$_t_bytes32_$",
                                    "typeString": "type(bytes32)"
                                  },
                                  "typeName": "bytes32"
                                },
                                "id": 4529,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "typeConversion",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "4020:13:13",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              ],
                              "id": 4526,
                              "name": "bytes32ToString",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 4822,
                              "src": "4004:15:13",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$_t_string_memory_ptr_$",
                                "typeString": "function (bytes32) returns (string memory)"
                              }
                            },
                            "id": 4530,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "4004:30:13",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "hexValue": "3f",
                            "id": 4531,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "string",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "4036:3:13",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_stringliteral_5f179612d7132c8ed24ba0e286d60d398c4aa1c234eb2274ca1bba47718e9d31",
                              "typeString": "literal_string \"?\""
                            },
                            "value": "?"
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_stringliteral_fbd8dd6195a7b9dc45c0335ee9299d06289ca50de6fafdfdbc252303313bb4d7",
                              "typeString": "literal_string \"From all offers for the fETTF, the following deal was the best:\""
                            },
                            {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            },
                            {
                              "typeIdentifier": "t_stringliteral_5f179612d7132c8ed24ba0e286d60d398c4aa1c234eb2274ca1bba47718e9d31",
                              "typeString": "literal_string \"?\""
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "id": 4523,
                            "name": "abi",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8510,
                            "src": "3920:3:13",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_abi",
                              "typeString": "abi"
                            }
                          },
                          "id": 4524,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberName": "encodePacked",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "3920:16:13",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                            "typeString": "function () pure returns (bytes memory)"
                          }
                        },
                        "id": 4532,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "3920:120:13",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      ],
                      "id": 4522,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "nodeType": "ElementaryTypeNameExpression",
                      "src": "3913:6:13",
                      "typeDescriptions": {
                        "typeIdentifier": "t_type$_t_string_storage_ptr_$",
                        "typeString": "type(string storage pointer)"
                      },
                      "typeName": "string"
                    },
                    "id": 4533,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "typeConversion",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3913:128:13",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory",
                      "typeString": "string memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "3888:153:13"
                },
                {
                  "assignments": [
                    4536
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 4536,
                      "name": "contentHash",
                      "nodeType": "VariableDeclaration",
                      "scope": 4667,
                      "src": "4051:19:13",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      },
                      "typeName": {
                        "id": 4535,
                        "name": "bytes32",
                        "nodeType": "ElementaryTypeName",
                        "src": "4051:7:13",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 4545,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 4540,
                            "name": "templateId",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4292,
                            "src": "4100:10:13",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 4541,
                            "name": "openingTs",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4300,
                            "src": "4112:9:13",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint32",
                              "typeString": "uint32"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 4542,
                            "name": "question",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4521,
                            "src": "4123:8:13",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            {
                              "typeIdentifier": "t_uint32",
                              "typeString": "uint32"
                            },
                            {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "id": 4538,
                            "name": "abi",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8510,
                            "src": "4083:3:13",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_abi",
                              "typeString": "abi"
                            }
                          },
                          "id": 4539,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberName": "encodePacked",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "4083:16:13",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                            "typeString": "function () pure returns (bytes memory)"
                          }
                        },
                        "id": 4543,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "4083:49:13",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      ],
                      "id": 4537,
                      "name": "keccak256",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 8517,
                      "src": "4073:9:13",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
                        "typeString": "function () pure returns (bytes32)"
                      }
                    },
                    "id": 4544,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4073:60:13",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "4051:82:13"
                },
                {
                  "assignments": [
                    4547
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 4547,
                      "name": "ans",
                      "nodeType": "VariableDeclaration",
                      "scope": 4667,
                      "src": "4148:8:13",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 4546,
                        "name": "uint",
                        "nodeType": "ElementaryTypeName",
                        "src": "4148:4:13",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 4558,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 4551,
                            "name": "questionId",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4459,
                            "src": "4201:10:13",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 4552,
                            "name": "contentHash",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4536,
                            "src": "4213:11:13",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 4553,
                            "name": "arbitrator",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4471,
                            "src": "4226:10:13",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 4554,
                            "name": "minTimeout",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4298,
                            "src": "4238:10:13",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint32",
                              "typeString": "uint32"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 4555,
                            "name": "minBond",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4295,
                            "src": "4250:7:13",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            },
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            },
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            },
                            {
                              "typeIdentifier": "t_uint32",
                              "typeString": "uint32"
                            },
                            {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "id": 4549,
                            "name": "realityCheck",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4279,
                            "src": "4164:12:13",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_Realitio_$8289",
                              "typeString": "contract Realitio"
                            }
                          },
                          "id": 4550,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "getFinalAnswerIfMatches",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 7595,
                          "src": "4164:36:13",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_bytes32_$_t_address_$_t_uint32_$_t_uint256_$returns$_t_bytes32_$",
                            "typeString": "function (bytes32,bytes32,address,uint32,uint256) view external returns (bytes32)"
                          }
                        },
                        "id": 4556,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "4164:94:13",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      ],
                      "id": 4548,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "nodeType": "ElementaryTypeNameExpression",
                      "src": "4159:4:13",
                      "typeDescriptions": {
                        "typeIdentifier": "t_type$_t_uint256_$",
                        "typeString": "type(uint256)"
                      },
                      "typeName": "uint"
                    },
                    "id": 4557,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "typeConversion",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4159:100:13",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "4148:111:13"
                },
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 4561,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 4559,
                      "name": "ans",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 4547,
                      "src": "4546:3:13",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "==",
                    "rightExpression": {
                      "argumentTypes": null,
                      "hexValue": "30",
                      "id": 4560,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "4553:1:13",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "src": "4546:8:13",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "id": 4664,
                    "nodeType": "Block",
                    "src": "4918:821:13",
                    "statements": [
                      {
                        "condition": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_int256",
                            "typeString": "int256"
                          },
                          "id": 4598,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "id": 4596,
                            "name": "balanceChange_",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4467,
                            "src": "5018:14:13",
                            "typeDescriptions": {
                              "typeIdentifier": "t_int256",
                              "typeString": "int256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": ">",
                          "rightExpression": {
                            "argumentTypes": null,
                            "hexValue": "30",
                            "id": 4597,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "5035:1:13",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_0_by_1",
                              "typeString": "int_const 0"
                            },
                            "value": "0"
                          },
                          "src": "5018:18:13",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "falseBody": {
                          "id": 4662,
                          "nodeType": "Block",
                          "src": "5442:287:13",
                          "statements": [
                            {
                              "expression": {
                                "argumentTypes": null,
                                "arguments": [
                                  {
                                    "argumentTypes": null,
                                    "arguments": [
                                      {
                                        "argumentTypes": null,
                                        "expression": {
                                          "argumentTypes": null,
                                          "id": 4647,
                                          "name": "msg",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 8523,
                                          "src": "5594:3:13",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_magic_message",
                                            "typeString": "msg"
                                          }
                                        },
                                        "id": 4648,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "memberName": "sender",
                                        "nodeType": "MemberAccess",
                                        "referencedDeclaration": null,
                                        "src": "5594:10:13",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_address",
                                          "typeString": "address"
                                        }
                                      },
                                      {
                                        "argumentTypes": null,
                                        "arguments": [
                                          {
                                            "argumentTypes": null,
                                            "id": 4650,
                                            "name": "balanceChange_",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 4467,
                                            "src": "5611:14:13",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_int256",
                                              "typeString": "int256"
                                            }
                                          }
                                        ],
                                        "expression": {
                                          "argumentTypes": [
                                            {
                                              "typeIdentifier": "t_int256",
                                              "typeString": "int256"
                                            }
                                          ],
                                          "id": 4649,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": true,
                                          "lValueRequested": false,
                                          "nodeType": "ElementaryTypeNameExpression",
                                          "src": "5606:4:13",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_type$_t_uint256_$",
                                            "typeString": "type(uint256)"
                                          },
                                          "typeName": "uint"
                                        },
                                        "id": 4651,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "typeConversion",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "5606:20:13",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        }
                                      },
                                      {
                                        "argumentTypes": null,
                                        "id": 4652,
                                        "name": "executionbranch",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 4461,
                                        "src": "5628:15:13",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_bytes32",
                                          "typeString": "bytes32"
                                        }
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_address",
                                          "typeString": "address"
                                        },
                                        {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        },
                                        {
                                          "typeIdentifier": "t_bytes32",
                                          "typeString": "bytes32"
                                        }
                                      ],
                                      "expression": {
                                        "argumentTypes": null,
                                        "arguments": [
                                          {
                                            "argumentTypes": null,
                                            "id": 4644,
                                            "name": "forkonomicToken",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 4465,
                                            "src": "5568:15:13",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_address",
                                              "typeString": "address"
                                            }
                                          }
                                        ],
                                        "expression": {
                                          "argumentTypes": [
                                            {
                                              "typeIdentifier": "t_address",
                                              "typeString": "address"
                                            }
                                          ],
                                          "id": 4643,
                                          "name": "ForkonomicToken",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 6226,
                                          "src": "5552:15:13",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_type$_t_contract$_ForkonomicToken_$6226_$",
                                            "typeString": "type(contract ForkonomicToken)"
                                          }
                                        },
                                        "id": 4645,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "typeConversion",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "5552:32:13",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_contract$_ForkonomicToken_$6226",
                                          "typeString": "contract ForkonomicToken"
                                        }
                                      },
                                      "id": 4646,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "memberName": "transfer",
                                      "nodeType": "MemberAccess",
                                      "referencedDeclaration": 5687,
                                      "src": "5552:41:13",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$_t_bytes32_$returns$_t_bool_$",
                                        "typeString": "function (address,uint256,bytes32) external returns (bool)"
                                      }
                                    },
                                    "id": 4653,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "functionCall",
                                    "lValueRequested": false,
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "5552:92:13",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bool",
                                      "typeString": "bool"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_bool",
                                      "typeString": "bool"
                                    }
                                  ],
                                  "id": 4642,
                                  "name": "require",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [
                                    8526,
                                    8527
                                  ],
                                  "referencedDeclaration": 8526,
                                  "src": "5544:7:13",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
                                    "typeString": "function (bool) pure"
                                  }
                                },
                                "id": 4654,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "5544:101:13",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_tuple$__$",
                                  "typeString": "tuple()"
                                }
                              },
                              "id": 4655,
                              "nodeType": "ExpressionStatement",
                              "src": "5544:101:13"
                            },
                            {
                              "expression": {
                                "argumentTypes": null,
                                "id": 4660,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftHandSide": {
                                  "argumentTypes": null,
                                  "baseExpression": {
                                    "argumentTypes": null,
                                    "id": 4656,
                                    "name": "fETTFbalanceChange",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 4289,
                                    "src": "5663:18:13",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_mapping$_t_bytes32_$_t_int256_$",
                                      "typeString": "mapping(bytes32 => int256)"
                                    }
                                  },
                                  "id": 4658,
                                  "indexExpression": {
                                    "argumentTypes": null,
                                    "id": 4657,
                                    "name": "executionbranch",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 4461,
                                    "src": "5682:15:13",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bytes32",
                                      "typeString": "bytes32"
                                    }
                                  },
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": true,
                                  "nodeType": "IndexAccess",
                                  "src": "5663:35:13",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_int256",
                                    "typeString": "int256"
                                  }
                                },
                                "nodeType": "Assignment",
                                "operator": "+=",
                                "rightHandSide": {
                                  "argumentTypes": null,
                                  "id": 4659,
                                  "name": "compensation",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 4469,
                                  "src": "5702:12:13",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_int256",
                                    "typeString": "int256"
                                  }
                                },
                                "src": "5663:51:13",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_int256",
                                  "typeString": "int256"
                                }
                              },
                              "id": 4661,
                              "nodeType": "ExpressionStatement",
                              "src": "5663:51:13"
                            }
                          ]
                        },
                        "id": 4663,
                        "nodeType": "IfStatement",
                        "src": "5014:715:13",
                        "trueBody": {
                          "id": 4641,
                          "nodeType": "Block",
                          "src": "5038:398:13",
                          "statements": [
                            {
                              "expression": {
                                "argumentTypes": null,
                                "arguments": [
                                  {
                                    "argumentTypes": null,
                                    "id": 4607,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "nodeType": "UnaryOperation",
                                    "operator": "!",
                                    "prefix": true,
                                    "src": "5064:73:13",
                                    "subExpression": {
                                      "argumentTypes": null,
                                      "arguments": [
                                        {
                                          "argumentTypes": null,
                                          "expression": {
                                            "argumentTypes": null,
                                            "id": 4601,
                                            "name": "msg",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 8523,
                                            "src": "5082:3:13",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_magic_message",
                                              "typeString": "msg"
                                            }
                                          },
                                          "id": 4602,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "memberName": "sender",
                                          "nodeType": "MemberAccess",
                                          "referencedDeclaration": null,
                                          "src": "5082:10:13",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                          }
                                        },
                                        {
                                          "argumentTypes": null,
                                          "id": 4603,
                                          "name": "NULL_HASH",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 5317,
                                          "src": "5094:9:13",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                          }
                                        },
                                        {
                                          "argumentTypes": null,
                                          "id": 4604,
                                          "name": "executionbranch",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 4461,
                                          "src": "5105:15:13",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                          }
                                        },
                                        {
                                          "argumentTypes": null,
                                          "id": 4605,
                                          "name": "originalbranch",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 4463,
                                          "src": "5122:14:13",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                          }
                                        }
                                      ],
                                      "expression": {
                                        "argumentTypes": [
                                          {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                          },
                                          {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                          },
                                          {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                          },
                                          {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                          }
                                        ],
                                        "id": 4600,
                                        "name": "hasBoxWithdrawal",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 6102,
                                        "src": "5065:16:13",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_function_internal_view$_t_address_$_t_bytes32_$_t_bytes32_$_t_bytes32_$returns$_t_bool_$",
                                          "typeString": "function (address,bytes32,bytes32,bytes32) view returns (bool)"
                                        }
                                      },
                                      "id": 4606,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "kind": "functionCall",
                                      "lValueRequested": false,
                                      "names": [],
                                      "nodeType": "FunctionCall",
                                      "src": "5065:72:13",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                      }
                                    },
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bool",
                                      "typeString": "bool"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_bool",
                                      "typeString": "bool"
                                    }
                                  ],
                                  "id": 4599,
                                  "name": "require",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [
                                    8526,
                                    8527
                                  ],
                                  "referencedDeclaration": 8526,
                                  "src": "5056:7:13",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
                                    "typeString": "function (bool) pure"
                                  }
                                },
                                "id": 4608,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "5056:82:13",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_tuple$__$",
                                  "typeString": "tuple()"
                                }
                              },
                              "id": 4609,
                              "nodeType": "ExpressionStatement",
                              "src": "5056:82:13"
                            },
                            {
                              "expression": {
                                "argumentTypes": null,
                                "id": 4623,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftHandSide": {
                                  "argumentTypes": null,
                                  "baseExpression": {
                                    "argumentTypes": null,
                                    "baseExpression": {
                                      "argumentTypes": null,
                                      "id": 4610,
                                      "name": "balanceChange",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 5323,
                                      "src": "5157:13:13",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_bytes32_$_t_int256_$_$",
                                        "typeString": "mapping(bytes32 => mapping(bytes32 => int256))"
                                      }
                                    },
                                    "id": 4620,
                                    "indexExpression": {
                                      "argumentTypes": null,
                                      "id": 4611,
                                      "name": "executionbranch",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 4461,
                                      "src": "5171:15:13",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_bytes32",
                                        "typeString": "bytes32"
                                      }
                                    },
                                    "isConstant": false,
                                    "isLValue": true,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "nodeType": "IndexAccess",
                                    "src": "5157:30:13",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_mapping$_t_bytes32_$_t_int256_$",
                                      "typeString": "mapping(bytes32 => int256)"
                                    }
                                  },
                                  "id": 4621,
                                  "indexExpression": {
                                    "argumentTypes": null,
                                    "arguments": [
                                      {
                                        "argumentTypes": null,
                                        "arguments": [
                                          {
                                            "argumentTypes": null,
                                            "expression": {
                                              "argumentTypes": null,
                                              "id": 4615,
                                              "name": "msg",
                                              "nodeType": "Identifier",
                                              "overloadedDeclarations": [],
                                              "referencedDeclaration": 8523,
                                              "src": "5215:3:13",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_magic_message",
                                                "typeString": "msg"
                                              }
                                            },
                                            "id": 4616,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "memberName": "sender",
                                            "nodeType": "MemberAccess",
                                            "referencedDeclaration": null,
                                            "src": "5215:10:13",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_address",
                                              "typeString": "address"
                                            }
                                          },
                                          {
                                            "argumentTypes": null,
                                            "id": 4617,
                                            "name": "NULL_HASH",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 5317,
                                            "src": "5227:9:13",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_bytes32",
                                              "typeString": "bytes32"
                                            }
                                          }
                                        ],
                                        "expression": {
                                          "argumentTypes": [
                                            {
                                              "typeIdentifier": "t_address",
                                              "typeString": "address"
                                            },
                                            {
                                              "typeIdentifier": "t_bytes32",
                                              "typeString": "bytes32"
                                            }
                                          ],
                                          "expression": {
                                            "argumentTypes": null,
                                            "id": 4613,
                                            "name": "abi",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 8510,
                                            "src": "5198:3:13",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_magic_abi",
                                              "typeString": "abi"
                                            }
                                          },
                                          "id": 4614,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": true,
                                          "lValueRequested": false,
                                          "memberName": "encodePacked",
                                          "nodeType": "MemberAccess",
                                          "referencedDeclaration": null,
                                          "src": "5198:16:13",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                                            "typeString": "function () pure returns (bytes memory)"
                                          }
                                        },
                                        "id": 4618,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "5198:39:13",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_bytes_memory_ptr",
                                          "typeString": "bytes memory"
                                        }
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_bytes_memory_ptr",
                                          "typeString": "bytes memory"
                                        }
                                      ],
                                      "id": 4612,
                                      "name": "keccak256",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 8517,
                                      "src": "5188:9:13",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
                                        "typeString": "function () pure returns (bytes32)"
                                      }
                                    },
                                    "id": 4619,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "functionCall",
                                    "lValueRequested": false,
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "5188:50:13",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bytes32",
                                      "typeString": "bytes32"
                                    }
                                  },
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": true,
                                  "nodeType": "IndexAccess",
                                  "src": "5157:82:13",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_int256",
                                    "typeString": "int256"
                                  }
                                },
                                "nodeType": "Assignment",
                                "operator": "+=",
                                "rightHandSide": {
                                  "argumentTypes": null,
                                  "id": 4622,
                                  "name": "compensation",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 4469,
                                  "src": "5243:12:13",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_int256",
                                    "typeString": "int256"
                                  }
                                },
                                "src": "5157:98:13",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_int256",
                                  "typeString": "int256"
                                }
                              },
                              "id": 4624,
                              "nodeType": "ExpressionStatement",
                              "src": "5157:98:13"
                            },
                            {
                              "expression": {
                                "argumentTypes": null,
                                "id": 4629,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftHandSide": {
                                  "argumentTypes": null,
                                  "baseExpression": {
                                    "argumentTypes": null,
                                    "id": 4625,
                                    "name": "fETTFbalanceChange",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 4289,
                                    "src": "5273:18:13",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_mapping$_t_bytes32_$_t_int256_$",
                                      "typeString": "mapping(bytes32 => int256)"
                                    }
                                  },
                                  "id": 4627,
                                  "indexExpression": {
                                    "argumentTypes": null,
                                    "id": 4626,
                                    "name": "executionbranch",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 4461,
                                    "src": "5292:15:13",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bytes32",
                                      "typeString": "bytes32"
                                    }
                                  },
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": true,
                                  "nodeType": "IndexAccess",
                                  "src": "5273:35:13",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_int256",
                                    "typeString": "int256"
                                  }
                                },
                                "nodeType": "Assignment",
                                "operator": "+=",
                                "rightHandSide": {
                                  "argumentTypes": null,
                                  "id": 4628,
                                  "name": "compensation",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 4469,
                                  "src": "5312:12:13",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_int256",
                                    "typeString": "int256"
                                  }
                                },
                                "src": "5273:51:13",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_int256",
                                  "typeString": "int256"
                                }
                              },
                              "id": 4630,
                              "nodeType": "ExpressionStatement",
                              "src": "5273:51:13"
                            },
                            {
                              "expression": {
                                "argumentTypes": null,
                                "arguments": [
                                  {
                                    "argumentTypes": null,
                                    "expression": {
                                      "argumentTypes": null,
                                      "id": 4632,
                                      "name": "msg",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 8523,
                                      "src": "5362:3:13",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_magic_message",
                                        "typeString": "msg"
                                      }
                                    },
                                    "id": 4633,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "memberName": "sender",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": null,
                                    "src": "5362:10:13",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    }
                                  },
                                  {
                                    "argumentTypes": null,
                                    "id": 4634,
                                    "name": "NULL_HASH",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 5317,
                                    "src": "5374:9:13",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bytes32",
                                      "typeString": "bytes32"
                                    }
                                  },
                                  {
                                    "argumentTypes": null,
                                    "arguments": [
                                      {
                                        "argumentTypes": null,
                                        "id": 4636,
                                        "name": "compensation",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 4469,
                                        "src": "5390:12:13",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_int256",
                                          "typeString": "int256"
                                        }
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_int256",
                                          "typeString": "int256"
                                        }
                                      ],
                                      "id": 4635,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "nodeType": "ElementaryTypeNameExpression",
                                      "src": "5385:4:13",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_type$_t_uint256_$",
                                        "typeString": "type(uint256)"
                                      },
                                      "typeName": "uint"
                                    },
                                    "id": 4637,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "typeConversion",
                                    "lValueRequested": false,
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "5385:18:13",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  {
                                    "argumentTypes": null,
                                    "id": 4638,
                                    "name": "executionbranch",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 4461,
                                    "src": "5405:15:13",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bytes32",
                                      "typeString": "bytes32"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    },
                                    {
                                      "typeIdentifier": "t_bytes32",
                                      "typeString": "bytes32"
                                    },
                                    {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    },
                                    {
                                      "typeIdentifier": "t_bytes32",
                                      "typeString": "bytes32"
                                    }
                                  ],
                                  "id": 4631,
                                  "name": "recordBoxWithdrawal",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 6047,
                                  "src": "5342:19:13",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_bytes32_$_t_uint256_$_t_bytes32_$returns$_t_bool_$",
                                    "typeString": "function (address,bytes32,uint256,bytes32) returns (bool)"
                                  }
                                },
                                "id": 4639,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "5342:79:13",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              },
                              "id": 4640,
                              "nodeType": "ExpressionStatement",
                              "src": "5342:79:13"
                            }
                          ]
                        }
                      }
                    ]
                  },
                  "id": 4665,
                  "nodeType": "IfStatement",
                  "src": "4542:1197:13",
                  "trueBody": {
                    "id": 4595,
                    "nodeType": "Block",
                    "src": "4556:356:13",
                    "statements": [
                      {
                        "condition": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_int256",
                            "typeString": "int256"
                          },
                          "id": 4564,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "id": 4562,
                            "name": "balanceChange_",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4467,
                            "src": "4625:14:13",
                            "typeDescriptions": {
                              "typeIdentifier": "t_int256",
                              "typeString": "int256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": ">",
                          "rightExpression": {
                            "argumentTypes": null,
                            "hexValue": "30",
                            "id": 4563,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "4642:1:13",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_0_by_1",
                              "typeString": "int_const 0"
                            },
                            "value": "0"
                          },
                          "src": "4625:18:13",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "falseBody": {
                          "id": 4593,
                          "nodeType": "Block",
                          "src": "4803:99:13",
                          "statements": [
                            {
                              "expression": {
                                "argumentTypes": null,
                                "arguments": [
                                  {
                                    "argumentTypes": null,
                                    "arguments": [
                                      {
                                        "argumentTypes": null,
                                        "expression": {
                                          "argumentTypes": null,
                                          "id": 4584,
                                          "name": "msg",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 8523,
                                          "src": "4838:3:13",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_magic_message",
                                            "typeString": "msg"
                                          }
                                        },
                                        "id": 4585,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "memberName": "sender",
                                        "nodeType": "MemberAccess",
                                        "referencedDeclaration": null,
                                        "src": "4838:10:13",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_address",
                                          "typeString": "address"
                                        }
                                      },
                                      {
                                        "argumentTypes": null,
                                        "arguments": [
                                          {
                                            "argumentTypes": null,
                                            "id": 4587,
                                            "name": "compensation",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 4469,
                                            "src": "4855:12:13",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_int256",
                                              "typeString": "int256"
                                            }
                                          }
                                        ],
                                        "expression": {
                                          "argumentTypes": [
                                            {
                                              "typeIdentifier": "t_int256",
                                              "typeString": "int256"
                                            }
                                          ],
                                          "id": 4586,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": true,
                                          "lValueRequested": false,
                                          "nodeType": "ElementaryTypeNameExpression",
                                          "src": "4850:4:13",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_type$_t_uint256_$",
                                            "typeString": "type(uint256)"
                                          },
                                          "typeName": "uint"
                                        },
                                        "id": 4588,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "typeConversion",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "4850:18:13",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        }
                                      },
                                      {
                                        "argumentTypes": null,
                                        "id": 4589,
                                        "name": "executionbranch",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 4461,
                                        "src": "4870:15:13",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_bytes32",
                                          "typeString": "bytes32"
                                        }
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_address",
                                          "typeString": "address"
                                        },
                                        {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        },
                                        {
                                          "typeIdentifier": "t_bytes32",
                                          "typeString": "bytes32"
                                        }
                                      ],
                                      "id": 4583,
                                      "name": "transfer",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 5687,
                                      "src": "4829:8:13",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bytes32_$returns$_t_bool_$",
                                        "typeString": "function (address,uint256,bytes32) returns (bool)"
                                      }
                                    },
                                    "id": 4590,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "functionCall",
                                    "lValueRequested": false,
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "4829:57:13",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bool",
                                      "typeString": "bool"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_bool",
                                      "typeString": "bool"
                                    }
                                  ],
                                  "id": 4582,
                                  "name": "require",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [
                                    8526,
                                    8527
                                  ],
                                  "referencedDeclaration": 8526,
                                  "src": "4821:7:13",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
                                    "typeString": "function (bool) pure"
                                  }
                                },
                                "id": 4591,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "4821:66:13",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_tuple$__$",
                                  "typeString": "tuple()"
                                }
                              },
                              "id": 4592,
                              "nodeType": "ExpressionStatement",
                              "src": "4821:66:13"
                            }
                          ]
                        },
                        "id": 4594,
                        "nodeType": "IfStatement",
                        "src": "4621:281:13",
                        "trueBody": {
                          "id": 4581,
                          "nodeType": "Block",
                          "src": "4645:152:13",
                          "statements": [
                            {
                              "expression": {
                                "argumentTypes": null,
                                "arguments": [
                                  {
                                    "argumentTypes": null,
                                    "arguments": [
                                      {
                                        "argumentTypes": null,
                                        "expression": {
                                          "argumentTypes": null,
                                          "id": 4570,
                                          "name": "msg",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 8523,
                                          "src": "4716:3:13",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_magic_message",
                                            "typeString": "msg"
                                          }
                                        },
                                        "id": 4571,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "memberName": "sender",
                                        "nodeType": "MemberAccess",
                                        "referencedDeclaration": null,
                                        "src": "4716:10:13",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_address",
                                          "typeString": "address"
                                        }
                                      },
                                      {
                                        "argumentTypes": null,
                                        "arguments": [
                                          {
                                            "argumentTypes": null,
                                            "id": 4573,
                                            "name": "balanceChange_",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 4467,
                                            "src": "4733:14:13",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_int256",
                                              "typeString": "int256"
                                            }
                                          }
                                        ],
                                        "expression": {
                                          "argumentTypes": [
                                            {
                                              "typeIdentifier": "t_int256",
                                              "typeString": "int256"
                                            }
                                          ],
                                          "id": 4572,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": true,
                                          "lValueRequested": false,
                                          "nodeType": "ElementaryTypeNameExpression",
                                          "src": "4728:4:13",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_type$_t_uint256_$",
                                            "typeString": "type(uint256)"
                                          },
                                          "typeName": "uint"
                                        },
                                        "id": 4574,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "typeConversion",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "4728:20:13",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        }
                                      },
                                      {
                                        "argumentTypes": null,
                                        "id": 4575,
                                        "name": "executionbranch",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 4461,
                                        "src": "4750:15:13",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_bytes32",
                                          "typeString": "bytes32"
                                        }
                                      },
                                      {
                                        "argumentTypes": null,
                                        "id": 4576,
                                        "name": "deal",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 4507,
                                        "src": "4767:4:13",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_bytes32",
                                          "typeString": "bytes32"
                                        }
                                      },
                                      {
                                        "argumentTypes": null,
                                        "id": 4577,
                                        "name": "fromBox",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 4473,
                                        "src": "4773:7:13",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_bytes32",
                                          "typeString": "bytes32"
                                        }
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_address",
                                          "typeString": "address"
                                        },
                                        {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        },
                                        {
                                          "typeIdentifier": "t_bytes32",
                                          "typeString": "bytes32"
                                        },
                                        {
                                          "typeIdentifier": "t_bytes32",
                                          "typeString": "bytes32"
                                        },
                                        {
                                          "typeIdentifier": "t_bytes32",
                                          "typeString": "bytes32"
                                        }
                                      ],
                                      "expression": {
                                        "argumentTypes": null,
                                        "arguments": [
                                          {
                                            "argumentTypes": null,
                                            "id": 4567,
                                            "name": "forkonomicToken",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 4465,
                                            "src": "4687:15:13",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_address",
                                              "typeString": "address"
                                            }
                                          }
                                        ],
                                        "expression": {
                                          "argumentTypes": [
                                            {
                                              "typeIdentifier": "t_address",
                                              "typeString": "address"
                                            }
                                          ],
                                          "id": 4566,
                                          "name": "ForkonomicToken",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 6226,
                                          "src": "4671:15:13",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_type$_t_contract$_ForkonomicToken_$6226_$",
                                            "typeString": "type(contract ForkonomicToken)"
                                          }
                                        },
                                        "id": 4568,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "typeConversion",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "4671:32:13",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_contract$_ForkonomicToken_$6226",
                                          "typeString": "contract ForkonomicToken"
                                        }
                                      },
                                      "id": 4569,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "memberName": "boxTransfer",
                                      "nodeType": "MemberAccess",
                                      "referencedDeclaration": 5799,
                                      "src": "4671:44:13",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$_t_bytes32_$_t_bytes32_$_t_bytes32_$returns$_t_bool_$",
                                        "typeString": "function (address,uint256,bytes32,bytes32,bytes32) external returns (bool)"
                                      }
                                    },
                                    "id": 4578,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "functionCall",
                                    "lValueRequested": false,
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "4671:110:13",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bool",
                                      "typeString": "bool"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_bool",
                                      "typeString": "bool"
                                    }
                                  ],
                                  "id": 4565,
                                  "name": "require",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [
                                    8526,
                                    8527
                                  ],
                                  "referencedDeclaration": 8526,
                                  "src": "4663:7:13",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
                                    "typeString": "function (bool) pure"
                                  }
                                },
                                "id": 4579,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "4663:119:13",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_tuple$__$",
                                  "typeString": "tuple()"
                                }
                              },
                              "id": 4580,
                              "nodeType": "ExpressionStatement",
                              "src": "4663:119:13"
                            }
                          ]
                        }
                      }
                    ]
                  }
                }
              ]
            },
            "documentation": null,
            "id": 4667,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "executeInvestmentRequest",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 4474,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4459,
                  "name": "questionId",
                  "nodeType": "VariableDeclaration",
                  "scope": 4667,
                  "src": "3034:18:13",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 4458,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "3034:7:13",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4461,
                  "name": "executionbranch",
                  "nodeType": "VariableDeclaration",
                  "scope": 4667,
                  "src": "3054:23:13",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 4460,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "3054:7:13",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4463,
                  "name": "originalbranch",
                  "nodeType": "VariableDeclaration",
                  "scope": 4667,
                  "src": "3079:22:13",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 4462,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "3079:7:13",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4465,
                  "name": "forkonomicToken",
                  "nodeType": "VariableDeclaration",
                  "scope": 4667,
                  "src": "3103:23:13",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 4464,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "3103:7:13",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4467,
                  "name": "balanceChange_",
                  "nodeType": "VariableDeclaration",
                  "scope": 4667,
                  "src": "3128:18:13",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_int256",
                    "typeString": "int256"
                  },
                  "typeName": {
                    "id": 4466,
                    "name": "int",
                    "nodeType": "ElementaryTypeName",
                    "src": "3128:3:13",
                    "typeDescriptions": {
                      "typeIdentifier": "t_int256",
                      "typeString": "int256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4469,
                  "name": "compensation",
                  "nodeType": "VariableDeclaration",
                  "scope": 4667,
                  "src": "3148:16:13",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_int256",
                    "typeString": "int256"
                  },
                  "typeName": {
                    "id": 4468,
                    "name": "int",
                    "nodeType": "ElementaryTypeName",
                    "src": "3148:3:13",
                    "typeDescriptions": {
                      "typeIdentifier": "t_int256",
                      "typeString": "int256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4471,
                  "name": "arbitrator",
                  "nodeType": "VariableDeclaration",
                  "scope": 4667,
                  "src": "3166:18:13",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 4470,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "3166:7:13",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4473,
                  "name": "fromBox",
                  "nodeType": "VariableDeclaration",
                  "scope": 4667,
                  "src": "3186:15:13",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 4472,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "3186:7:13",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "3033:169:13"
            },
            "payable": false,
            "returnParameters": {
              "id": 4475,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "3214:0:13"
            },
            "scope": 4853,
            "src": "3000:2745:13",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 4762,
              "nodeType": "Block",
              "src": "5852:980:13",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 4679,
                              "name": "msg",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8523,
                              "src": "5942:3:13",
                              "typeDescriptions": {
                                "typeIdentifier": "t_magic_message",
                                "typeString": "msg"
                              }
                            },
                            "id": 4680,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "sender",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": null,
                            "src": "5942:10:13",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 4681,
                            "name": "this",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8586,
                            "src": "5954:4:13",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_ForkonomicETTF_$4853",
                              "typeString": "contract ForkonomicETTF"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 4682,
                            "name": "amount",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4671,
                            "src": "5960:6:13",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 4683,
                            "name": "branch",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4669,
                            "src": "5968:6:13",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            },
                            {
                              "typeIdentifier": "t_contract$_ForkonomicETTF_$4853",
                              "typeString": "contract ForkonomicETTF"
                            },
                            {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          ],
                          "id": 4678,
                          "name": "transferFrom",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 5822,
                          "src": "5929:12:13",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes32_$returns$_t_bool_$",
                            "typeString": "function (address,address,uint256,bytes32) returns (bool)"
                          }
                        },
                        "id": 4684,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "5929:46:13",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "7472616e7366657220646964206e6f74207061737320696e2072656465656d5265616c69747946756e64546f6b656e73",
                        "id": 4685,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "5977:50:13",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_c9cafcc2c7a4a2876bdd754fd2d86865e34be4b3c0690404635b83c341ff2563",
                          "typeString": "literal_string \"transfer did not pass in redeemRealityFundTokens\""
                        },
                        "value": "transfer did not pass in redeemRealityFundTokens"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_c9cafcc2c7a4a2876bdd754fd2d86865e34be4b3c0690404635b83c341ff2563",
                          "typeString": "literal_string \"transfer did not pass in redeemRealityFundTokens\""
                        }
                      ],
                      "id": 4677,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        8526,
                        8527
                      ],
                      "referencedDeclaration": 8527,
                      "src": "5921:7:13",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 4686,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5921:107:13",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 4687,
                  "nodeType": "ExpressionStatement",
                  "src": "5921:107:13"
                },
                {
                  "assignments": [
                    4689
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 4689,
                      "name": "amountOutstandingETTFToken",
                      "nodeType": "VariableDeclaration",
                      "scope": 4763,
                      "src": "6113:33:13",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_int256",
                        "typeString": "int256"
                      },
                      "typeName": {
                        "id": 4688,
                        "name": "int256",
                        "nodeType": "ElementaryTypeName",
                        "src": "6113:6:13",
                        "typeDescriptions": {
                          "typeIdentifier": "t_int256",
                          "typeString": "int256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 4691,
                  "initialValue": {
                    "argumentTypes": null,
                    "hexValue": "30",
                    "id": 4690,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": true,
                    "kind": "number",
                    "lValueRequested": false,
                    "nodeType": "Literal",
                    "src": "6149:1:13",
                    "subdenomination": null,
                    "typeDescriptions": {
                      "typeIdentifier": "t_rational_0_by_1",
                      "typeString": "int_const 0"
                    },
                    "value": "0"
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "6113:37:13"
                },
                {
                  "assignments": [
                    4693
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 4693,
                      "name": "hashIteration",
                      "nodeType": "VariableDeclaration",
                      "scope": 4763,
                      "src": "6160:21:13",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      },
                      "typeName": {
                        "id": 4692,
                        "name": "bytes32",
                        "nodeType": "ElementaryTypeName",
                        "src": "6160:7:13",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 4695,
                  "initialValue": {
                    "argumentTypes": null,
                    "id": 4694,
                    "name": "branch",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 4669,
                    "src": "6184:6:13",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "6160:30:13"
                },
                {
                  "body": {
                    "id": 4714,
                    "nodeType": "Block",
                    "src": "6253:157:13",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 4705,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "id": 4701,
                            "name": "amountOutstandingETTFToken",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4689,
                            "src": "6267:26:13",
                            "typeDescriptions": {
                              "typeIdentifier": "t_int256",
                              "typeString": "int256"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "+=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 4702,
                              "name": "fETTFbalanceChange",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 4289,
                              "src": "6297:18:13",
                              "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_bytes32_$_t_int256_$",
                                "typeString": "mapping(bytes32 => int256)"
                              }
                            },
                            "id": 4704,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 4703,
                              "name": "hashIteration",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 4693,
                              "src": "6316:13:13",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "6297:33:13",
                            "typeDescriptions": {
                              "typeIdentifier": "t_int256",
                              "typeString": "int256"
                            }
                          },
                          "src": "6267:63:13",
                          "typeDescriptions": {
                            "typeIdentifier": "t_int256",
                            "typeString": "int256"
                          }
                        },
                        "id": 4706,
                        "nodeType": "ExpressionStatement",
                        "src": "6267:63:13"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 4712,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "id": 4707,
                            "name": "hashIteration",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4693,
                            "src": "6344:13:13",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "id": 4710,
                                "name": "hashIteration",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 4693,
                                "src": "6385:13:13",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              ],
                              "expression": {
                                "argumentTypes": null,
                                "id": 4708,
                                "name": "fSystem",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 5345,
                                "src": "6360:7:13",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_contract$_ForkonomicSystem_$5270",
                                  "typeString": "contract ForkonomicSystem"
                                }
                              },
                              "id": 4709,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "branchParentHash",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 4877,
                              "src": "6360:24:13",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$",
                                "typeString": "function (bytes32) view external returns (bytes32)"
                              }
                            },
                            "id": 4711,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "6360:39:13",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          "src": "6344:55:13",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        },
                        "id": 4713,
                        "nodeType": "ExpressionStatement",
                        "src": "6344:55:13"
                      }
                    ]
                  },
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    },
                    "id": 4700,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 4696,
                      "name": "hashIteration",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 4693,
                      "src": "6207:13:13",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "!=",
                    "rightExpression": {
                      "argumentTypes": null,
                      "arguments": [],
                      "expression": {
                        "argumentTypes": [],
                        "expression": {
                          "argumentTypes": null,
                          "id": 4697,
                          "name": "fSystem",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 5345,
                          "src": "6224:7:13",
                          "typeDescriptions": {
                            "typeIdentifier": "t_contract$_ForkonomicSystem_$5270",
                            "typeString": "contract ForkonomicSystem"
                          }
                        },
                        "id": 4698,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "genesisBranchHash",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 4899,
                        "src": "6224:25:13",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$",
                          "typeString": "function () view external returns (bytes32)"
                        }
                      },
                      "id": 4699,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "6224:27:13",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "src": "6207:44:13",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 4715,
                  "nodeType": "WhileStatement",
                  "src": "6200:210:13"
                },
                {
                  "body": {
                    "id": 4760,
                    "nodeType": "Block",
                    "src": "6511:314:13",
                    "statements": [
                      {
                        "assignments": [
                          4728
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 4728,
                            "name": "holdings",
                            "nodeType": "VariableDeclaration",
                            "scope": 4763,
                            "src": "6525:16:13",
                            "stateVariable": false,
                            "storageLocation": "default",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            "typeName": {
                              "id": 4727,
                              "name": "uint256",
                              "nodeType": "ElementaryTypeName",
                              "src": "6525:7:13",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "value": null,
                            "visibility": "internal"
                          }
                        ],
                        "id": 4738,
                        "initialValue": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 4735,
                              "name": "this",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8586,
                              "src": "6591:4:13",
                              "typeDescriptions": {
                                "typeIdentifier": "t_contract$_ForkonomicETTF_$4853",
                                "typeString": "contract ForkonomicETTF"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "id": 4736,
                              "name": "branch",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 4669,
                              "src": "6597:6:13",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_contract$_ForkonomicETTF_$4853",
                                "typeString": "contract ForkonomicETTF"
                              },
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            ],
                            "expression": {
                              "argumentTypes": null,
                              "arguments": [
                                {
                                  "argumentTypes": null,
                                  "baseExpression": {
                                    "argumentTypes": null,
                                    "id": 4730,
                                    "name": "forkonomicTokens",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 4674,
                                    "src": "6560:16:13",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                                      "typeString": "address[] memory"
                                    }
                                  },
                                  "id": 4732,
                                  "indexExpression": {
                                    "argumentTypes": null,
                                    "id": 4731,
                                    "name": "i",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 4717,
                                    "src": "6577:1:13",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "nodeType": "IndexAccess",
                                  "src": "6560:19:13",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                  }
                                ],
                                "id": 4729,
                                "name": "ForkonomicToken",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 6226,
                                "src": "6544:15:13",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_contract$_ForkonomicToken_$6226_$",
                                  "typeString": "type(contract ForkonomicToken)"
                                }
                              },
                              "id": 4733,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "typeConversion",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "6544:36:13",
                              "typeDescriptions": {
                                "typeIdentifier": "t_contract$_ForkonomicToken_$6226",
                                "typeString": "contract ForkonomicToken"
                              }
                            },
                            "id": 4734,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "balanceOf",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 5571,
                            "src": "6544:46:13",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_external_view$_t_address_$_t_bytes32_$returns$_t_uint256_$",
                              "typeString": "function (address,bytes32) view external returns (uint256)"
                            }
                          },
                          "id": 4737,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "6544:60:13",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "6525:79:13"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "arguments": [
                                {
                                  "argumentTypes": null,
                                  "expression": {
                                    "argumentTypes": null,
                                    "id": 4746,
                                    "name": "msg",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 8523,
                                    "src": "6700:3:13",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_magic_message",
                                      "typeString": "msg"
                                    }
                                  },
                                  "id": 4747,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberName": "sender",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": null,
                                  "src": "6700:10:13",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                  }
                                },
                                {
                                  "argumentTypes": null,
                                  "commonType": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  },
                                  "id": 4754,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "leftExpression": {
                                    "argumentTypes": null,
                                    "commonType": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    },
                                    "id": 4750,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "leftExpression": {
                                      "argumentTypes": null,
                                      "id": 4748,
                                      "name": "amount",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 4671,
                                      "src": "6712:6:13",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    },
                                    "nodeType": "BinaryOperation",
                                    "operator": "*",
                                    "rightExpression": {
                                      "argumentTypes": null,
                                      "id": 4749,
                                      "name": "holdings",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 4728,
                                      "src": "6721:8:13",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    },
                                    "src": "6712:17:13",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "nodeType": "BinaryOperation",
                                  "operator": "/",
                                  "rightExpression": {
                                    "argumentTypes": null,
                                    "arguments": [
                                      {
                                        "argumentTypes": null,
                                        "id": 4752,
                                        "name": "amountOutstandingETTFToken",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 4689,
                                        "src": "6737:26:13",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_int256",
                                          "typeString": "int256"
                                        }
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_int256",
                                          "typeString": "int256"
                                        }
                                      ],
                                      "id": 4751,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "nodeType": "ElementaryTypeNameExpression",
                                      "src": "6732:4:13",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_type$_t_uint256_$",
                                        "typeString": "type(uint256)"
                                      },
                                      "typeName": "uint"
                                    },
                                    "id": 4753,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "typeConversion",
                                    "lValueRequested": false,
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "6732:32:13",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "src": "6712:52:13",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                {
                                  "argumentTypes": null,
                                  "id": 4755,
                                  "name": "branch",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 4669,
                                  "src": "6766:6:13",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                  },
                                  {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  },
                                  {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": null,
                                  "arguments": [
                                    {
                                      "argumentTypes": null,
                                      "baseExpression": {
                                        "argumentTypes": null,
                                        "id": 4741,
                                        "name": "forkonomicTokens",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 4674,
                                        "src": "6670:16:13",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                                          "typeString": "address[] memory"
                                        }
                                      },
                                      "id": 4743,
                                      "indexExpression": {
                                        "argumentTypes": null,
                                        "id": 4742,
                                        "name": "i",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 4717,
                                        "src": "6687:1:13",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        }
                                      },
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "nodeType": "IndexAccess",
                                      "src": "6670:19:13",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                      }
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": [
                                      {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                      }
                                    ],
                                    "id": 4740,
                                    "name": "ForkonomicToken",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 6226,
                                    "src": "6654:15:13",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_contract$_ForkonomicToken_$6226_$",
                                      "typeString": "type(contract ForkonomicToken)"
                                    }
                                  },
                                  "id": 4744,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "kind": "typeConversion",
                                  "lValueRequested": false,
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "6654:36:13",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_contract$_ForkonomicToken_$6226",
                                    "typeString": "contract ForkonomicToken"
                                  }
                                },
                                "id": 4745,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "transfer",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 5687,
                                "src": "6654:45:13",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$_t_bytes32_$returns$_t_bool_$",
                                  "typeString": "function (address,uint256,bytes32) external returns (bool)"
                                }
                              },
                              "id": 4756,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "6654:119:13",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "hexValue": "7472616e73666572206f662066756e647320776173206e6f74207375636365737366756c",
                              "id": 4757,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "string",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "6775:38:13",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_stringliteral_4d57f05af38d42c763154549bbe68cb7872363b49ac7b19db4dfa53158ffc2eb",
                                "typeString": "literal_string \"transfer of funds was not successful\""
                              },
                              "value": "transfer of funds was not successful"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              },
                              {
                                "typeIdentifier": "t_stringliteral_4d57f05af38d42c763154549bbe68cb7872363b49ac7b19db4dfa53158ffc2eb",
                                "typeString": "literal_string \"transfer of funds was not successful\""
                              }
                            ],
                            "id": 4739,
                            "name": "require",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [
                              8526,
                              8527
                            ],
                            "referencedDeclaration": 8527,
                            "src": "6646:7:13",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                              "typeString": "function (bool,string memory) pure"
                            }
                          },
                          "id": 4758,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "6646:168:13",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 4759,
                        "nodeType": "ExpressionStatement",
                        "src": "6646:168:13"
                      }
                    ]
                  },
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 4723,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 4720,
                      "name": "i",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 4717,
                      "src": "6477:1:13",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "<",
                    "rightExpression": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "id": 4721,
                        "name": "forkonomicTokens",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4674,
                        "src": "6481:16:13",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                          "typeString": "address[] memory"
                        }
                      },
                      "id": 4722,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "length",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "6481:23:13",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "6477:27:13",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 4761,
                  "initializationExpression": {
                    "assignments": [
                      4717
                    ],
                    "declarations": [
                      {
                        "constant": false,
                        "id": 4717,
                        "name": "i",
                        "nodeType": "VariableDeclaration",
                        "scope": 4763,
                        "src": "6467:6:13",
                        "stateVariable": false,
                        "storageLocation": "default",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "typeName": {
                          "id": 4716,
                          "name": "uint",
                          "nodeType": "ElementaryTypeName",
                          "src": "6467:4:13",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "value": null,
                        "visibility": "internal"
                      }
                    ],
                    "id": 4719,
                    "initialValue": {
                      "argumentTypes": null,
                      "hexValue": "30",
                      "id": 4718,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "6474:1:13",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "nodeType": "VariableDeclarationStatement",
                    "src": "6467:8:13"
                  },
                  "loopExpression": {
                    "expression": {
                      "argumentTypes": null,
                      "id": 4725,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "UnaryOperation",
                      "operator": "++",
                      "prefix": false,
                      "src": "6506:3:13",
                      "subExpression": {
                        "argumentTypes": null,
                        "id": 4724,
                        "name": "i",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4717,
                        "src": "6506:1:13",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 4726,
                    "nodeType": "ExpressionStatement",
                    "src": "6506:3:13"
                  },
                  "nodeType": "ForStatement",
                  "src": "6462:363:13"
                }
              ]
            },
            "documentation": null,
            "id": 4763,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "redeemRealityFundTokens",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 4675,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4669,
                  "name": "branch",
                  "nodeType": "VariableDeclaration",
                  "scope": 4763,
                  "src": "5787:14:13",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 4668,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "5787:7:13",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4671,
                  "name": "amount",
                  "nodeType": "VariableDeclaration",
                  "scope": 4763,
                  "src": "5803:11:13",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4670,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "5803:4:13",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4674,
                  "name": "forkonomicTokens",
                  "nodeType": "VariableDeclaration",
                  "scope": 4763,
                  "src": "5816:27:13",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                    "typeString": "address[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 4672,
                      "name": "address",
                      "nodeType": "ElementaryTypeName",
                      "src": "5816:7:13",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "id": 4673,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "5816:10:13",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
                      "typeString": "address[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "5786:58:13"
            },
            "payable": false,
            "returnParameters": {
              "id": 4676,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "5852:0:13"
            },
            "scope": 4853,
            "src": "5754:1078:13",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 4821,
              "nodeType": "Block",
              "src": "6902:289:13",
              "statements": [
                {
                  "assignments": [
                    4771
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 4771,
                      "name": "bytesString",
                      "nodeType": "VariableDeclaration",
                      "scope": 4822,
                      "src": "6912:24:13",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes_memory_ptr",
                        "typeString": "bytes"
                      },
                      "typeName": {
                        "id": 4770,
                        "name": "bytes",
                        "nodeType": "ElementaryTypeName",
                        "src": "6912:5:13",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_storage_ptr",
                          "typeString": "bytes"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 4776,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "hexValue": "3332",
                        "id": 4774,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "6949:2:13",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_32_by_1",
                          "typeString": "int_const 32"
                        },
                        "value": "32"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_rational_32_by_1",
                          "typeString": "int_const 32"
                        }
                      ],
                      "id": 4773,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "nodeType": "NewExpression",
                      "src": "6939:9:13",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_$",
                        "typeString": "function (uint256) pure returns (bytes memory)"
                      },
                      "typeName": {
                        "id": 4772,
                        "name": "bytes",
                        "nodeType": "ElementaryTypeName",
                        "src": "6943:5:13",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_storage_ptr",
                          "typeString": "bytes"
                        }
                      }
                    },
                    "id": 4775,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": true,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "6939:13:13",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_memory",
                      "typeString": "bytes memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "6912:40:13"
                },
                {
                  "body": {
                    "id": 4815,
                    "nodeType": "Block",
                    "src": "6990:159:13",
                    "statements": [
                      {
                        "assignments": [
                          4788
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 4788,
                            "name": "char",
                            "nodeType": "VariableDeclaration",
                            "scope": 4822,
                            "src": "7004:9:13",
                            "stateVariable": false,
                            "storageLocation": "default",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes1",
                              "typeString": "bytes1"
                            },
                            "typeName": {
                              "id": 4787,
                              "name": "byte",
                              "nodeType": "ElementaryTypeName",
                              "src": "7004:4:13",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes1",
                                "typeString": "bytes1"
                              }
                            },
                            "value": null,
                            "visibility": "internal"
                          }
                        ],
                        "id": 4803,
                        "initialValue": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "arguments": [
                                {
                                  "argumentTypes": null,
                                  "commonType": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  },
                                  "id": 4800,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "leftExpression": {
                                    "argumentTypes": null,
                                    "arguments": [
                                      {
                                        "argumentTypes": null,
                                        "id": 4792,
                                        "name": "data",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 4765,
                                        "src": "7034:4:13",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_bytes32",
                                          "typeString": "bytes32"
                                        }
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_bytes32",
                                          "typeString": "bytes32"
                                        }
                                      ],
                                      "id": 4791,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "nodeType": "ElementaryTypeNameExpression",
                                      "src": "7029:4:13",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_type$_t_uint256_$",
                                        "typeString": "type(uint256)"
                                      },
                                      "typeName": "uint"
                                    },
                                    "id": 4793,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "typeConversion",
                                    "lValueRequested": false,
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "7029:10:13",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "nodeType": "BinaryOperation",
                                  "operator": "*",
                                  "rightExpression": {
                                    "argumentTypes": null,
                                    "commonType": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    },
                                    "id": 4799,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "leftExpression": {
                                      "argumentTypes": null,
                                      "hexValue": "32",
                                      "id": 4794,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "kind": "number",
                                      "lValueRequested": false,
                                      "nodeType": "Literal",
                                      "src": "7042:1:13",
                                      "subdenomination": null,
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_rational_2_by_1",
                                        "typeString": "int_const 2"
                                      },
                                      "value": "2"
                                    },
                                    "nodeType": "BinaryOperation",
                                    "operator": "**",
                                    "rightExpression": {
                                      "argumentTypes": null,
                                      "components": [
                                        {
                                          "argumentTypes": null,
                                          "commonType": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                          },
                                          "id": 4797,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "leftExpression": {
                                            "argumentTypes": null,
                                            "hexValue": "38",
                                            "id": 4795,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": true,
                                            "kind": "number",
                                            "lValueRequested": false,
                                            "nodeType": "Literal",
                                            "src": "7048:1:13",
                                            "subdenomination": null,
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_rational_8_by_1",
                                              "typeString": "int_const 8"
                                            },
                                            "value": "8"
                                          },
                                          "nodeType": "BinaryOperation",
                                          "operator": "*",
                                          "rightExpression": {
                                            "argumentTypes": null,
                                            "id": 4796,
                                            "name": "j",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 4778,
                                            "src": "7052:1:13",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_uint256",
                                              "typeString": "uint256"
                                            }
                                          },
                                          "src": "7048:5:13",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                          }
                                        }
                                      ],
                                      "id": 4798,
                                      "isConstant": false,
                                      "isInlineArray": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "nodeType": "TupleExpression",
                                      "src": "7047:7:13",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    },
                                    "src": "7042:12:13",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "src": "7029:25:13",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                ],
                                "id": 4790,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "lValueRequested": false,
                                "nodeType": "ElementaryTypeNameExpression",
                                "src": "7021:7:13",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_bytes32_$",
                                  "typeString": "type(bytes32)"
                                },
                                "typeName": "bytes32"
                              },
                              "id": 4801,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "typeConversion",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "7021:34:13",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            ],
                            "id": 4789,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "ElementaryTypeNameExpression",
                            "src": "7016:4:13",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_bytes1_$",
                              "typeString": "type(bytes1)"
                            },
                            "typeName": "byte"
                          },
                          "id": 4802,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "typeConversion",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "7016:40:13",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes1",
                            "typeString": "bytes1"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "7004:52:13"
                      },
                      {
                        "condition": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_bytes1",
                            "typeString": "bytes1"
                          },
                          "id": 4806,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "id": 4804,
                            "name": "char",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4788,
                            "src": "7074:4:13",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes1",
                              "typeString": "bytes1"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "!=",
                          "rightExpression": {
                            "argumentTypes": null,
                            "hexValue": "30",
                            "id": 4805,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "7082:1:13",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_0_by_1",
                              "typeString": "int_const 0"
                            },
                            "value": "0"
                          },
                          "src": "7074:9:13",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "falseBody": null,
                        "id": 4814,
                        "nodeType": "IfStatement",
                        "src": "7070:69:13",
                        "trueBody": {
                          "id": 4813,
                          "nodeType": "Block",
                          "src": "7085:54:13",
                          "statements": [
                            {
                              "expression": {
                                "argumentTypes": null,
                                "id": 4811,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftHandSide": {
                                  "argumentTypes": null,
                                  "baseExpression": {
                                    "argumentTypes": null,
                                    "id": 4807,
                                    "name": "bytesString",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 4771,
                                    "src": "7103:11:13",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bytes_memory_ptr",
                                      "typeString": "bytes memory"
                                    }
                                  },
                                  "id": 4809,
                                  "indexExpression": {
                                    "argumentTypes": null,
                                    "id": 4808,
                                    "name": "j",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 4778,
                                    "src": "7115:1:13",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": true,
                                  "nodeType": "IndexAccess",
                                  "src": "7103:14:13",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes1",
                                    "typeString": "bytes1"
                                  }
                                },
                                "nodeType": "Assignment",
                                "operator": "=",
                                "rightHandSide": {
                                  "argumentTypes": null,
                                  "id": 4810,
                                  "name": "char",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 4788,
                                  "src": "7120:4:13",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes1",
                                    "typeString": "bytes1"
                                  }
                                },
                                "src": "7103:21:13",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes1",
                                  "typeString": "bytes1"
                                }
                              },
                              "id": 4812,
                              "nodeType": "ExpressionStatement",
                              "src": "7103:21:13"
                            }
                          ]
                        }
                      }
                    ]
                  },
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 4783,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 4781,
                      "name": "j",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 4778,
                      "src": "6977:1:13",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "<",
                    "rightExpression": {
                      "argumentTypes": null,
                      "hexValue": "3332",
                      "id": 4782,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "6981:2:13",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_32_by_1",
                        "typeString": "int_const 32"
                      },
                      "value": "32"
                    },
                    "src": "6977:6:13",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 4816,
                  "initializationExpression": {
                    "assignments": [
                      4778
                    ],
                    "declarations": [
                      {
                        "constant": false,
                        "id": 4778,
                        "name": "j",
                        "nodeType": "VariableDeclaration",
                        "scope": 4822,
                        "src": "6967:6:13",
                        "stateVariable": false,
                        "storageLocation": "default",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "typeName": {
                          "id": 4777,
                          "name": "uint",
                          "nodeType": "ElementaryTypeName",
                          "src": "6967:4:13",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "value": null,
                        "visibility": "internal"
                      }
                    ],
                    "id": 4780,
                    "initialValue": {
                      "argumentTypes": null,
                      "hexValue": "30",
                      "id": 4779,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "6974:1:13",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "nodeType": "VariableDeclarationStatement",
                    "src": "6967:8:13"
                  },
                  "loopExpression": {
                    "expression": {
                      "argumentTypes": null,
                      "id": 4785,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "UnaryOperation",
                      "operator": "++",
                      "prefix": false,
                      "src": "6985:3:13",
                      "subExpression": {
                        "argumentTypes": null,
                        "id": 4784,
                        "name": "j",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4778,
                        "src": "6985:1:13",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 4786,
                    "nodeType": "ExpressionStatement",
                    "src": "6985:3:13"
                  },
                  "nodeType": "ForStatement",
                  "src": "6962:187:13"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 4818,
                        "name": "bytesString",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4771,
                        "src": "7172:11:13",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      ],
                      "id": 4817,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "nodeType": "ElementaryTypeNameExpression",
                      "src": "7165:6:13",
                      "typeDescriptions": {
                        "typeIdentifier": "t_type$_t_string_storage_ptr_$",
                        "typeString": "type(string storage pointer)"
                      },
                      "typeName": "string"
                    },
                    "id": 4819,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "typeConversion",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "7165:19:13",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory",
                      "typeString": "string memory"
                    }
                  },
                  "functionReturnParameters": 4769,
                  "id": 4820,
                  "nodeType": "Return",
                  "src": "7158:26:13"
                }
              ]
            },
            "documentation": null,
            "id": 4822,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "bytes32ToString",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 4766,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4765,
                  "name": "data",
                  "nodeType": "VariableDeclaration",
                  "scope": 4822,
                  "src": "6864:12:13",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 4764,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "6864:7:13",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "6863:14:13"
            },
            "payable": false,
            "returnParameters": {
              "id": 4769,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4768,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 4822,
                  "src": "6894:6:13",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 4767,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "6894:6:13",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "6893:8:13"
            },
            "scope": 4853,
            "src": "6838:353:13",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 4851,
              "nodeType": "Block",
              "src": "7327:146:13",
              "statements": [
                {
                  "assignments": [
                    4836
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 4836,
                      "name": "deal",
                      "nodeType": "VariableDeclaration",
                      "scope": 4852,
                      "src": "7337:12:13",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      },
                      "typeName": {
                        "id": 4835,
                        "name": "bytes32",
                        "nodeType": "ElementaryTypeName",
                        "src": "7337:7:13",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 4848,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 4840,
                            "name": "branch",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4824,
                            "src": "7379:6:13",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 4841,
                            "name": "forkonomicToken",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4826,
                            "src": "7387:15:13",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 4842,
                            "name": "balanceChange",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4828,
                            "src": "7404:13:13",
                            "typeDescriptions": {
                              "typeIdentifier": "t_int256",
                              "typeString": "int256"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 4843,
                            "name": "compensation",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4830,
                            "src": "7419:12:13",
                            "typeDescriptions": {
                              "typeIdentifier": "t_int256",
                              "typeString": "int256"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 4844,
                              "name": "msg",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8523,
                              "src": "7433:3:13",
                              "typeDescriptions": {
                                "typeIdentifier": "t_magic_message",
                                "typeString": "msg"
                              }
                            },
                            "id": 4845,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "sender",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": null,
                            "src": "7433:10:13",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            },
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            },
                            {
                              "typeIdentifier": "t_int256",
                              "typeString": "int256"
                            },
                            {
                              "typeIdentifier": "t_int256",
                              "typeString": "int256"
                            },
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "id": 4838,
                            "name": "abi",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8510,
                            "src": "7362:3:13",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_abi",
                              "typeString": "abi"
                            }
                          },
                          "id": 4839,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberName": "encodePacked",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "7362:16:13",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                            "typeString": "function () pure returns (bytes memory)"
                          }
                        },
                        "id": 4846,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "7362:82:13",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      ],
                      "id": 4837,
                      "name": "keccak256",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 8517,
                      "src": "7352:9:13",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
                        "typeString": "function () pure returns (bytes32)"
                      }
                    },
                    "id": 4847,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "7352:93:13",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "7337:108:13"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 4849,
                    "name": "deal",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 4836,
                    "src": "7462:4:13",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "functionReturnParameters": 4834,
                  "id": 4850,
                  "nodeType": "Return",
                  "src": "7455:11:13"
                }
              ]
            },
            "documentation": null,
            "id": 4852,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "calcDealBytes",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 4831,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4824,
                  "name": "branch",
                  "nodeType": "VariableDeclaration",
                  "scope": 4852,
                  "src": "7220:14:13",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 4823,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "7220:7:13",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4826,
                  "name": "forkonomicToken",
                  "nodeType": "VariableDeclaration",
                  "scope": 4852,
                  "src": "7236:23:13",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 4825,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "7236:7:13",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4828,
                  "name": "balanceChange",
                  "nodeType": "VariableDeclaration",
                  "scope": 4852,
                  "src": "7261:17:13",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_int256",
                    "typeString": "int256"
                  },
                  "typeName": {
                    "id": 4827,
                    "name": "int",
                    "nodeType": "ElementaryTypeName",
                    "src": "7261:3:13",
                    "typeDescriptions": {
                      "typeIdentifier": "t_int256",
                      "typeString": "int256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4830,
                  "name": "compensation",
                  "nodeType": "VariableDeclaration",
                  "scope": 4852,
                  "src": "7280:16:13",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_int256",
                    "typeString": "int256"
                  },
                  "typeName": {
                    "id": 4829,
                    "name": "int",
                    "nodeType": "ElementaryTypeName",
                    "src": "7280:3:13",
                    "typeDescriptions": {
                      "typeIdentifier": "t_int256",
                      "typeString": "int256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "7219:78:13"
            },
            "payable": false,
            "returnParameters": {
              "id": 4834,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4833,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 4852,
                  "src": "7318:7:13",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 4832,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "7318:7:13",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "7317:9:13"
            },
            "scope": 4853,
            "src": "7197:276:13",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          }
        ],
        "scope": 4854,
        "src": "163:7312:13"
      }
    ],
    "src": "0:7475:13"
  },
  "legacyAST": {
    "absolutePath": "@josojo/forkonomics-contracts/contracts/ForkonomicETTF.sol",
    "exportedSymbols": {
      "ForkonomicETTF": [
        4853
      ]
    },
    "id": 4854,
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 4251,
        "literals": [
          "solidity",
          "^",
          "0.4",
          ".22"
        ],
        "nodeType": "PragmaDirective",
        "src": "0:24:13"
      },
      {
        "absolutePath": "@josojo/forkonomics-contracts/contracts/ForkonomicToken.sol",
        "file": "./ForkonomicToken.sol",
        "id": 4252,
        "nodeType": "ImportDirective",
        "scope": 4854,
        "sourceUnit": 6227,
        "src": "26:31:13",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "@realitio/realitio-contracts/truffle/contracts/Realitio.sol",
        "file": "@realitio/realitio-contracts/truffle/contracts/Realitio.sol",
        "id": 4253,
        "nodeType": "ImportDirective",
        "scope": 4854,
        "sourceUnit": 8290,
        "src": "58:69:13",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "@josojo/forkonomics-contracts/contracts/ForkonomicSystem.sol",
        "file": "./ForkonomicSystem.sol",
        "id": 4254,
        "nodeType": "ImportDirective",
        "scope": 4854,
        "sourceUnit": 5271,
        "src": "128:32:13",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "baseContracts": [
          {
            "arguments": null,
            "baseName": {
              "contractScope": null,
              "id": 4255,
              "name": "ForkonomicToken",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 6226,
              "src": "190:15:13",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_ForkonomicToken_$6226",
                "typeString": "contract ForkonomicToken"
              }
            },
            "id": 4256,
            "nodeType": "InheritanceSpecifier",
            "src": "190:15:13"
          }
        ],
        "contractDependencies": [
          6226
        ],
        "contractKind": "contract",
        "documentation": null,
        "fullyImplemented": true,
        "id": 4853,
        "linearizedBaseContracts": [
          4853,
          6226
        ],
        "name": "ForkonomicETTF",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "anonymous": false,
            "documentation": null,
            "id": 4268,
            "name": "NewDealProposed",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 4267,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4258,
                  "indexed": false,
                  "name": "branch",
                  "nodeType": "VariableDeclaration",
                  "scope": 4268,
                  "src": "256:14:13",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 4257,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "256:7:13",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4260,
                  "indexed": false,
                  "name": "forkonomicToken",
                  "nodeType": "VariableDeclaration",
                  "scope": 4268,
                  "src": "280:23:13",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 4259,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "280:7:13",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4262,
                  "indexed": false,
                  "name": "balanceChange_",
                  "nodeType": "VariableDeclaration",
                  "scope": 4268,
                  "src": "313:18:13",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_int256",
                    "typeString": "int256"
                  },
                  "typeName": {
                    "id": 4261,
                    "name": "int",
                    "nodeType": "ElementaryTypeName",
                    "src": "313:3:13",
                    "typeDescriptions": {
                      "typeIdentifier": "t_int256",
                      "typeString": "int256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4264,
                  "indexed": false,
                  "name": "compensation",
                  "nodeType": "VariableDeclaration",
                  "scope": 4268,
                  "src": "341:17:13",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_int256",
                    "typeString": "int256"
                  },
                  "typeName": {
                    "id": 4263,
                    "name": "int",
                    "nodeType": "ElementaryTypeName",
                    "src": "341:3:13",
                    "typeDescriptions": {
                      "typeIdentifier": "t_int256",
                      "typeString": "int256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4266,
                  "indexed": false,
                  "name": "sender",
                  "nodeType": "VariableDeclaration",
                  "scope": 4268,
                  "src": "368:14:13",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 4265,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "368:7:13",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "246:137:13"
            },
            "src": "225:159:13"
          },
          {
            "constant": true,
            "id": 4271,
            "name": "name",
            "nodeType": "VariableDeclaration",
            "scope": 4853,
            "src": "415:47:13",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_string_memory",
              "typeString": "string"
            },
            "typeName": {
              "id": 4269,
              "name": "string",
              "nodeType": "ElementaryTypeName",
              "src": "415:6:13",
              "typeDescriptions": {
                "typeIdentifier": "t_string_storage_ptr",
                "typeString": "string"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "466f726b6f6e6f6d69637345545446",
              "id": 4270,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "string",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "445:17:13",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_stringliteral_b31200dbe63df8543ac795b89e83ccc6e5c30227dafb0485c56931dff386d639",
                "typeString": "literal_string \"ForkonomicsETTF\""
              },
              "value": "ForkonomicsETTF"
            },
            "visibility": "public"
          },
          {
            "constant": true,
            "id": 4274,
            "name": "symbol",
            "nodeType": "VariableDeclaration",
            "scope": 4853,
            "src": "468:39:13",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_string_memory",
              "typeString": "string"
            },
            "typeName": {
              "id": 4272,
              "name": "string",
              "nodeType": "ElementaryTypeName",
              "src": "468:6:13",
              "typeDescriptions": {
                "typeIdentifier": "t_string_storage_ptr",
                "typeString": "string"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "4645545446",
              "id": 4273,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "string",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "500:7:13",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_stringliteral_8be7f6f1521403d25fce58027d3b3dd06af4935e1134dedb71f1a73aa33d6fc0",
                "typeString": "literal_string \"FETTF\""
              },
              "value": "FETTF"
            },
            "visibility": "public"
          },
          {
            "constant": true,
            "id": 4277,
            "name": "decimals",
            "nodeType": "VariableDeclaration",
            "scope": 4853,
            "src": "513:35:13",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint8",
              "typeString": "uint8"
            },
            "typeName": {
              "id": 4275,
              "name": "uint8",
              "nodeType": "ElementaryTypeName",
              "src": "513:5:13",
              "typeDescriptions": {
                "typeIdentifier": "t_uint8",
                "typeString": "uint8"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "3138",
              "id": 4276,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "number",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "546:2:13",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_rational_18_by_1",
                "typeString": "int_const 18"
              },
              "value": "18"
            },
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 4279,
            "name": "realityCheck",
            "nodeType": "VariableDeclaration",
            "scope": 4853,
            "src": "623:28:13",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_contract$_Realitio_$8289",
              "typeString": "contract Realitio"
            },
            "typeName": {
              "contractScope": null,
              "id": 4278,
              "name": "Realitio",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 8289,
              "src": "623:8:13",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_Realitio_$8289",
                "typeString": "contract Realitio"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 4285,
            "name": "fundHoldingChange",
            "nodeType": "VariableDeclaration",
            "scope": 4853,
            "src": "691:68:13",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_address_$_t_int256_$_$",
              "typeString": "mapping(bytes32 => mapping(address => int256))"
            },
            "typeName": {
              "id": 4284,
              "keyType": {
                "id": 4280,
                "name": "bytes32",
                "nodeType": "ElementaryTypeName",
                "src": "699:7:13",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes32",
                  "typeString": "bytes32"
                }
              },
              "nodeType": "Mapping",
              "src": "691:43:13",
              "typeDescriptions": {
                "typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_address_$_t_int256_$_$",
                "typeString": "mapping(bytes32 => mapping(address => int256))"
              },
              "valueType": {
                "id": 4283,
                "keyType": {
                  "id": 4281,
                  "name": "address",
                  "nodeType": "ElementaryTypeName",
                  "src": "718:7:13",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                },
                "nodeType": "Mapping",
                "src": "710:23:13",
                "typeDescriptions": {
                  "typeIdentifier": "t_mapping$_t_address_$_t_int256_$",
                  "typeString": "mapping(address => int256)"
                },
                "valueType": {
                  "id": 4282,
                  "name": "int",
                  "nodeType": "ElementaryTypeName",
                  "src": "729:3:13",
                  "typeDescriptions": {
                    "typeIdentifier": "t_int256",
                    "typeString": "int256"
                  }
                }
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 4289,
            "name": "fETTFbalanceChange",
            "nodeType": "VariableDeclaration",
            "scope": 4853,
            "src": "800:49:13",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_mapping$_t_bytes32_$_t_int256_$",
              "typeString": "mapping(bytes32 => int256)"
            },
            "typeName": {
              "id": 4288,
              "keyType": {
                "id": 4286,
                "name": "bytes32",
                "nodeType": "ElementaryTypeName",
                "src": "808:7:13",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes32",
                  "typeString": "bytes32"
                }
              },
              "nodeType": "Mapping",
              "src": "800:23:13",
              "typeDescriptions": {
                "typeIdentifier": "t_mapping$_t_bytes32_$_t_int256_$",
                "typeString": "mapping(bytes32 => int256)"
              },
              "valueType": {
                "id": 4287,
                "name": "int",
                "nodeType": "ElementaryTypeName",
                "src": "819:3:13",
                "typeDescriptions": {
                  "typeIdentifier": "t_int256",
                  "typeString": "int256"
                }
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 4292,
            "name": "templateId",
            "nodeType": "VariableDeclaration",
            "scope": 4853,
            "src": "861:27:13",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 4290,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "861:7:13",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "30",
              "id": 4291,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "number",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "887:1:13",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_rational_0_by_1",
                "typeString": "int_const 0"
              },
              "value": "0"
            },
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 4295,
            "name": "minBond",
            "nodeType": "VariableDeclaration",
            "scope": 4853,
            "src": "894:35:13",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 4293,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "894:7:13",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "35303030303030303030",
              "id": 4294,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "number",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "919:10:13",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_rational_5000000000_by_1",
                "typeString": "int_const 5000000000"
              },
              "value": "5000000000"
            },
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 4298,
            "name": "minTimeout",
            "nodeType": "VariableDeclaration",
            "scope": 4853,
            "src": "935:30:13",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint32",
              "typeString": "uint32"
            },
            "typeName": {
              "id": 4296,
              "name": "uint32",
              "nodeType": "ElementaryTypeName",
              "src": "935:6:13",
              "typeDescriptions": {
                "typeIdentifier": "t_uint32",
                "typeString": "uint32"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "31303030",
              "id": 4297,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "number",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "961:4:13",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_rational_1000_by_1",
                "typeString": "int_const 1000"
              },
              "value": "1000"
            },
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 4300,
            "name": "openingTs",
            "nodeType": "VariableDeclaration",
            "scope": 4853,
            "src": "971:23:13",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint32",
              "typeString": "uint32"
            },
            "typeName": {
              "id": 4299,
              "name": "uint32",
              "nodeType": "ElementaryTypeName",
              "src": "971:6:13",
              "typeDescriptions": {
                "typeIdentifier": "t_uint32",
                "typeString": "uint32"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 4303,
            "name": "minQuestionFunding",
            "nodeType": "VariableDeclaration",
            "scope": 4853,
            "src": "1000:51:13",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 4301,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "1000:7:13",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "35303030303030303030303030303030",
              "id": 4302,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "number",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "1035:16:13",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_rational_5000000000000000_by_1",
                "typeString": "int_const 5000000000000000"
              },
              "value": "5000000000000000"
            },
            "visibility": "public"
          },
          {
            "body": {
              "id": 4321,
              "nodeType": "Block",
              "src": "1316:45:13",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 4319,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 4317,
                      "name": "realityCheck",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 4279,
                      "src": "1326:12:13",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_Realitio_$8289",
                        "typeString": "contract Realitio"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 4318,
                      "name": "realityCheck_",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 4305,
                      "src": "1341:13:13",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_Realitio_$8289",
                        "typeString": "contract Realitio"
                      }
                    },
                    "src": "1326:28:13",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_Realitio_$8289",
                      "typeString": "contract Realitio"
                    }
                  },
                  "id": 4320,
                  "nodeType": "ExpressionStatement",
                  "src": "1326:28:13"
                }
              ]
            },
            "documentation": null,
            "id": 4322,
            "implemented": true,
            "isConstructor": true,
            "isDeclaredConst": false,
            "modifiers": [
              {
                "arguments": [
                  {
                    "argumentTypes": null,
                    "id": 4313,
                    "name": "fSystem_",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 4307,
                    "src": "1285:8:13",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_ForkonomicSystem_$5270",
                      "typeString": "contract ForkonomicSystem"
                    }
                  },
                  {
                    "argumentTypes": null,
                    "id": 4314,
                    "name": "funding",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 4310,
                    "src": "1295:7:13",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                      "typeString": "address[] memory"
                    }
                  }
                ],
                "id": 4315,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 4312,
                  "name": "ForkonomicToken",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 6226,
                  "src": "1269:15:13",
                  "typeDescriptions": {
                    "typeIdentifier": "t_type$_t_contract$_ForkonomicToken_$6226_$",
                    "typeString": "type(contract ForkonomicToken)"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "1269:34:13"
              }
            ],
            "name": "",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 4311,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4305,
                  "name": "realityCheck_",
                  "nodeType": "VariableDeclaration",
                  "scope": 4322,
                  "src": "1172:22:13",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_Realitio_$8289",
                    "typeString": "contract Realitio"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 4304,
                    "name": "Realitio",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 8289,
                    "src": "1172:8:13",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_Realitio_$8289",
                      "typeString": "contract Realitio"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4307,
                  "name": "fSystem_",
                  "nodeType": "VariableDeclaration",
                  "scope": 4322,
                  "src": "1205:25:13",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_ForkonomicSystem_$5270",
                    "typeString": "contract ForkonomicSystem"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 4306,
                    "name": "ForkonomicSystem",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 5270,
                    "src": "1205:16:13",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_ForkonomicSystem_$5270",
                      "typeString": "contract ForkonomicSystem"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4310,
                  "name": "funding",
                  "nodeType": "VariableDeclaration",
                  "scope": 4322,
                  "src": "1240:18:13",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                    "typeString": "address[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 4308,
                      "name": "address",
                      "nodeType": "ElementaryTypeName",
                      "src": "1240:7:13",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "id": 4309,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "1240:10:13",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
                      "typeString": "address[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1162:102:13"
            },
            "payable": false,
            "returnParameters": {
              "id": 4316,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1316:0:13"
            },
            "scope": 4853,
            "src": "1151:210:13",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 4456,
              "nodeType": "Block",
              "src": "1688:1199:13",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 4345,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 4339,
                      "name": "openingTs",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 4300,
                      "src": "1725:9:13",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint32",
                        "typeString": "uint32"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 4343,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "id": 4341,
                            "name": "now",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8525,
                            "src": "1744:3:13",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "+",
                          "rightExpression": {
                            "argumentTypes": null,
                            "hexValue": "3330",
                            "id": 4342,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "1750:7:13",
                            "subdenomination": "days",
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_2592000_by_1",
                              "typeString": "int_const 2592000"
                            },
                            "value": "30"
                          },
                          "src": "1744:13:13",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        ],
                        "id": 4340,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "nodeType": "ElementaryTypeNameExpression",
                        "src": "1737:6:13",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_uint32_$",
                          "typeString": "type(uint32)"
                        },
                        "typeName": "uint32"
                      },
                      "id": 4344,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "typeConversion",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "1737:21:13",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint32",
                        "typeString": "uint32"
                      }
                    },
                    "src": "1725:33:13",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint32",
                      "typeString": "uint32"
                    }
                  },
                  "id": 4346,
                  "nodeType": "ExpressionStatement",
                  "src": "1725:33:13"
                },
                {
                  "assignments": [
                    4348
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 4348,
                      "name": "deal",
                      "nodeType": "VariableDeclaration",
                      "scope": 4457,
                      "src": "1768:12:13",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      },
                      "typeName": {
                        "id": 4347,
                        "name": "bytes32",
                        "nodeType": "ElementaryTypeName",
                        "src": "1768:7:13",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 4360,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 4352,
                            "name": "branch",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4324,
                            "src": "1810:6:13",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 4353,
                            "name": "forkonomicToken",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4326,
                            "src": "1818:15:13",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 4354,
                            "name": "balanceChange",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4328,
                            "src": "1835:13:13",
                            "typeDescriptions": {
                              "typeIdentifier": "t_int256",
                              "typeString": "int256"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 4355,
                            "name": "compensation",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4330,
                            "src": "1850:12:13",
                            "typeDescriptions": {
                              "typeIdentifier": "t_int256",
                              "typeString": "int256"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 4356,
                              "name": "msg",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8523,
                              "src": "1864:3:13",
                              "typeDescriptions": {
                                "typeIdentifier": "t_magic_message",
                                "typeString": "msg"
                              }
                            },
                            "id": 4357,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "sender",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": null,
                            "src": "1864:10:13",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            },
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            },
                            {
                              "typeIdentifier": "t_int256",
                              "typeString": "int256"
                            },
                            {
                              "typeIdentifier": "t_int256",
                              "typeString": "int256"
                            },
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "id": 4350,
                            "name": "abi",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8510,
                            "src": "1793:3:13",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_abi",
                              "typeString": "abi"
                            }
                          },
                          "id": 4351,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberName": "encodePacked",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "1793:16:13",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                            "typeString": "function () pure returns (bytes memory)"
                          }
                        },
                        "id": 4358,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "1793:82:13",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      ],
                      "id": 4349,
                      "name": "keccak256",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 8517,
                      "src": "1783:9:13",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
                        "typeString": "function () pure returns (bytes32)"
                      }
                    },
                    "id": 4359,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1783:93:13",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "1768:108:13"
                },
                {
                  "assignments": [
                    4362
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 4362,
                      "name": "question",
                      "nodeType": "VariableDeclaration",
                      "scope": 4457,
                      "src": "1886:22:13",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_memory_ptr",
                        "typeString": "string"
                      },
                      "typeName": {
                        "id": 4361,
                        "name": "string",
                        "nodeType": "ElementaryTypeName",
                        "src": "1886:6:13",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_storage_ptr",
                          "typeString": "string"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 4375,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "hexValue": "46726f6d20616c6c206f666665727320666f72207468652066455454462c2074686520666f6c6c6f77696e67206465616c207761732074686520626573743a",
                            "id": 4366,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "string",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "1935:65:13",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_stringliteral_fbd8dd6195a7b9dc45c0335ee9299d06289ca50de6fafdfdbc252303313bb4d7",
                              "typeString": "literal_string \"From all offers for the fETTF, the following deal was the best:\""
                            },
                            "value": "From all offers for the fETTF, the following deal was the best:"
                          },
                          {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "arguments": [
                                  {
                                    "argumentTypes": null,
                                    "id": 4369,
                                    "name": "deal",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 4348,
                                    "src": "2026:4:13",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bytes32",
                                      "typeString": "bytes32"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_bytes32",
                                      "typeString": "bytes32"
                                    }
                                  ],
                                  "id": 4368,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "nodeType": "ElementaryTypeNameExpression",
                                  "src": "2018:7:13",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_type$_t_bytes32_$",
                                    "typeString": "type(bytes32)"
                                  },
                                  "typeName": "bytes32"
                                },
                                "id": 4370,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "typeConversion",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "2018:13:13",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              ],
                              "id": 4367,
                              "name": "bytes32ToString",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 4822,
                              "src": "2002:15:13",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$_t_string_memory_ptr_$",
                                "typeString": "function (bytes32) returns (string memory)"
                              }
                            },
                            "id": 4371,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "2002:30:13",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "hexValue": "3f",
                            "id": 4372,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "string",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "2034:3:13",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_stringliteral_5f179612d7132c8ed24ba0e286d60d398c4aa1c234eb2274ca1bba47718e9d31",
                              "typeString": "literal_string \"?\""
                            },
                            "value": "?"
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_stringliteral_fbd8dd6195a7b9dc45c0335ee9299d06289ca50de6fafdfdbc252303313bb4d7",
                              "typeString": "literal_string \"From all offers for the fETTF, the following deal was the best:\""
                            },
                            {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            },
                            {
                              "typeIdentifier": "t_stringliteral_5f179612d7132c8ed24ba0e286d60d398c4aa1c234eb2274ca1bba47718e9d31",
                              "typeString": "literal_string \"?\""
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "id": 4364,
                            "name": "abi",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8510,
                            "src": "1918:3:13",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_abi",
                              "typeString": "abi"
                            }
                          },
                          "id": 4365,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberName": "encodePacked",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "1918:16:13",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                            "typeString": "function () pure returns (bytes memory)"
                          }
                        },
                        "id": 4373,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "1918:120:13",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      ],
                      "id": 4363,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "nodeType": "ElementaryTypeNameExpression",
                      "src": "1911:6:13",
                      "typeDescriptions": {
                        "typeIdentifier": "t_type$_t_string_storage_ptr_$",
                        "typeString": "type(string storage pointer)"
                      },
                      "typeName": "string"
                    },
                    "id": 4374,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "typeConversion",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1911:128:13",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory",
                      "typeString": "string memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "1886:153:13"
                },
                {
                  "assignments": [
                    4377
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 4377,
                      "name": "questionId",
                      "nodeType": "VariableDeclaration",
                      "scope": 4457,
                      "src": "2148:18:13",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      },
                      "typeName": {
                        "id": 4376,
                        "name": "bytes32",
                        "nodeType": "ElementaryTypeName",
                        "src": "2148:7:13",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 4392,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 4385,
                        "name": "templateId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4292,
                        "src": "2217:10:13",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 4386,
                        "name": "question",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4362,
                        "src": "2229:8:13",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 4387,
                        "name": "arbitrator",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4332,
                        "src": "2239:10:13",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 4388,
                        "name": "minTimeout",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4298,
                        "src": "2251:10:13",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint32",
                          "typeString": "uint32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 4389,
                        "name": "openingTs",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4300,
                        "src": "2263:9:13",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint32",
                          "typeString": "uint32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "30",
                        "id": 4390,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "2274:1:13",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_0_by_1",
                          "typeString": "int_const 0"
                        },
                        "value": "0"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint32",
                          "typeString": "uint32"
                        },
                        {
                          "typeIdentifier": "t_uint32",
                          "typeString": "uint32"
                        },
                        {
                          "typeIdentifier": "t_rational_0_by_1",
                          "typeString": "int_const 0"
                        }
                      ],
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_rational_5000000000000_by_1",
                            "typeString": "int_const 5000000000000"
                          },
                          "id": 4383,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "hexValue": "35",
                            "id": 4381,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "2200:1:13",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_5_by_1",
                              "typeString": "int_const 5"
                            },
                            "value": "5"
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "*",
                          "rightExpression": {
                            "argumentTypes": null,
                            "hexValue": "31303030303030303030303030",
                            "id": 4382,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "2202:13:13",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_1000000000000_by_1",
                              "typeString": "int_const 1000000000000"
                            },
                            "value": "1000000000000"
                          },
                          "src": "2200:15:13",
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_5000000000000_by_1",
                            "typeString": "int_const 5000000000000"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_rational_5000000000000_by_1",
                            "typeString": "int_const 5000000000000"
                          }
                        ],
                        "expression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 4378,
                            "name": "realityCheck",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4279,
                            "src": "2169:12:13",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_Realitio_$8289",
                              "typeString": "contract Realitio"
                            }
                          },
                          "id": 4379,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "askQuestion",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 6912,
                          "src": "2169:24:13",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_payable$_t_uint256_$_t_string_memory_ptr_$_t_address_$_t_uint32_$_t_uint32_$_t_uint256_$returns$_t_bytes32_$",
                            "typeString": "function (uint256,string memory,address,uint32,uint32,uint256) payable external returns (bytes32)"
                          }
                        },
                        "id": 4380,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "value",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": null,
                        "src": "2169:30:13",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_setvalue_nonpayable$_t_uint256_$returns$_t_function_external_payable$_t_uint256_$_t_string_memory_ptr_$_t_address_$_t_uint32_$_t_uint32_$_t_uint256_$returns$_t_bytes32_$value_$",
                          "typeString": "function (uint256) returns (function (uint256,string memory,address,uint32,uint32,uint256) payable external returns (bytes32))"
                        }
                      },
                      "id": 4384,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "2169:47:13",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_payable$_t_uint256_$_t_string_memory_ptr_$_t_address_$_t_uint32_$_t_uint32_$_t_uint256_$returns$_t_bytes32_$value",
                        "typeString": "function (uint256,string memory,address,uint32,uint32,uint256) payable external returns (bytes32)"
                      }
                    },
                    "id": 4391,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2169:107:13",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "2148:128:13"
                },
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_int256",
                      "typeString": "int256"
                    },
                    "id": 4395,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 4393,
                      "name": "balanceChange",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 4328,
                      "src": "2333:13:13",
                      "typeDescriptions": {
                        "typeIdentifier": "t_int256",
                        "typeString": "int256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": ">",
                    "rightExpression": {
                      "argumentTypes": null,
                      "hexValue": "30",
                      "id": 4394,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "2349:1:13",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "src": "2333:17:13",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "id": 4436,
                    "nodeType": "Block",
                    "src": "2541:121:13",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "commonType": {
                                "typeIdentifier": "t_int256",
                                "typeString": "int256"
                              },
                              "id": 4423,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftExpression": {
                                "argumentTypes": null,
                                "id": 4421,
                                "name": "compensation",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 4330,
                                "src": "2562:12:13",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_int256",
                                  "typeString": "int256"
                                }
                              },
                              "nodeType": "BinaryOperation",
                              "operator": ">",
                              "rightExpression": {
                                "argumentTypes": null,
                                "hexValue": "30",
                                "id": 4422,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "number",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "2577:1:13",
                                "subdenomination": null,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_rational_0_by_1",
                                  "typeString": "int_const 0"
                                },
                                "value": "0"
                              },
                              "src": "2562:16:13",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            ],
                            "id": 4420,
                            "name": "require",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [
                              8526,
                              8527
                            ],
                            "referencedDeclaration": 8526,
                            "src": "2554:7:13",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
                              "typeString": "function (bool) pure"
                            }
                          },
                          "id": 4424,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "2554:25:13",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 4425,
                        "nodeType": "ExpressionStatement",
                        "src": "2554:25:13"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "expression": {
                                "argumentTypes": null,
                                "id": 4427,
                                "name": "msg",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 8523,
                                "src": "2605:3:13",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_magic_message",
                                  "typeString": "msg"
                                }
                              },
                              "id": 4428,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "sender",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": null,
                              "src": "2605:10:13",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "id": 4429,
                              "name": "this",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8586,
                              "src": "2617:4:13",
                              "typeDescriptions": {
                                "typeIdentifier": "t_contract$_ForkonomicETTF_$4853",
                                "typeString": "contract ForkonomicETTF"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "arguments": [
                                {
                                  "argumentTypes": null,
                                  "id": 4431,
                                  "name": "compensation",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 4330,
                                  "src": "2628:12:13",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_int256",
                                    "typeString": "int256"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_int256",
                                    "typeString": "int256"
                                  }
                                ],
                                "id": 4430,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "lValueRequested": false,
                                "nodeType": "ElementaryTypeNameExpression",
                                "src": "2623:4:13",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_uint256_$",
                                  "typeString": "type(uint256)"
                                },
                                "typeName": "uint"
                              },
                              "id": 4432,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "typeConversion",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "2623:18:13",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "id": 4433,
                              "name": "branch",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 4324,
                              "src": "2643:6:13",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              },
                              {
                                "typeIdentifier": "t_contract$_ForkonomicETTF_$4853",
                                "typeString": "contract ForkonomicETTF"
                              },
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            ],
                            "id": 4426,
                            "name": "transferFrom",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 5822,
                            "src": "2592:12:13",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes32_$returns$_t_bool_$",
                              "typeString": "function (address,address,uint256,bytes32) returns (bool)"
                            }
                          },
                          "id": 4434,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "2592:58:13",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "id": 4435,
                        "nodeType": "ExpressionStatement",
                        "src": "2592:58:13"
                      }
                    ]
                  },
                  "id": 4437,
                  "nodeType": "IfStatement",
                  "src": "2329:333:13",
                  "trueBody": {
                    "id": 4419,
                    "nodeType": "Block",
                    "src": "2352:183:13",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "commonType": {
                                "typeIdentifier": "t_int256",
                                "typeString": "int256"
                              },
                              "id": 4399,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "leftExpression": {
                                "argumentTypes": null,
                                "id": 4397,
                                "name": "compensation",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 4330,
                                "src": "2374:12:13",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_int256",
                                  "typeString": "int256"
                                }
                              },
                              "nodeType": "BinaryOperation",
                              "operator": "<",
                              "rightExpression": {
                                "argumentTypes": null,
                                "hexValue": "30",
                                "id": 4398,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "number",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "2389:1:13",
                                "subdenomination": null,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_rational_0_by_1",
                                  "typeString": "int_const 0"
                                },
                                "value": "0"
                              },
                              "src": "2374:16:13",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            ],
                            "id": 4396,
                            "name": "require",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [
                              8526,
                              8527
                            ],
                            "referencedDeclaration": 8526,
                            "src": "2366:7:13",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
                              "typeString": "function (bool) pure"
                            }
                          },
                          "id": 4400,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "2366:25:13",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 4401,
                        "nodeType": "ExpressionStatement",
                        "src": "2366:25:13"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "arguments": [
                                {
                                  "argumentTypes": null,
                                  "expression": {
                                    "argumentTypes": null,
                                    "id": 4407,
                                    "name": "msg",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 8523,
                                    "src": "2462:3:13",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_magic_message",
                                      "typeString": "msg"
                                    }
                                  },
                                  "id": 4408,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberName": "sender",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": null,
                                  "src": "2462:10:13",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                  }
                                },
                                {
                                  "argumentTypes": null,
                                  "id": 4409,
                                  "name": "this",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 8586,
                                  "src": "2474:4:13",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_contract$_ForkonomicETTF_$4853",
                                    "typeString": "contract ForkonomicETTF"
                                  }
                                },
                                {
                                  "argumentTypes": null,
                                  "arguments": [
                                    {
                                      "argumentTypes": null,
                                      "id": 4411,
                                      "name": "balanceChange",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 4328,
                                      "src": "2485:13:13",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_int256",
                                        "typeString": "int256"
                                      }
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": [
                                      {
                                        "typeIdentifier": "t_int256",
                                        "typeString": "int256"
                                      }
                                    ],
                                    "id": 4410,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": true,
                                    "lValueRequested": false,
                                    "nodeType": "ElementaryTypeNameExpression",
                                    "src": "2480:4:13",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_uint256_$",
                                      "typeString": "type(uint256)"
                                    },
                                    "typeName": "uint"
                                  },
                                  "id": 4412,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "kind": "typeConversion",
                                  "lValueRequested": false,
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "2480:19:13",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                {
                                  "argumentTypes": null,
                                  "id": 4413,
                                  "name": "branch",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 4324,
                                  "src": "2501:6:13",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                },
                                {
                                  "argumentTypes": null,
                                  "id": 4414,
                                  "name": "fromBox",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 4334,
                                  "src": "2509:7:13",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                },
                                {
                                  "argumentTypes": null,
                                  "id": 4415,
                                  "name": "deal",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 4348,
                                  "src": "2518:4:13",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                  },
                                  {
                                    "typeIdentifier": "t_contract$_ForkonomicETTF_$4853",
                                    "typeString": "contract ForkonomicETTF"
                                  },
                                  {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  },
                                  {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  },
                                  {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  },
                                  {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": null,
                                  "arguments": [
                                    {
                                      "argumentTypes": null,
                                      "id": 4404,
                                      "name": "forkonomicToken",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 4326,
                                      "src": "2429:15:13",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                      }
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": [
                                      {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                      }
                                    ],
                                    "id": 4403,
                                    "name": "ForkonomicToken",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 6226,
                                    "src": "2413:15:13",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_contract$_ForkonomicToken_$6226_$",
                                      "typeString": "type(contract ForkonomicToken)"
                                    }
                                  },
                                  "id": 4405,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "kind": "typeConversion",
                                  "lValueRequested": false,
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "2413:32:13",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_contract$_ForkonomicToken_$6226",
                                    "typeString": "contract ForkonomicToken"
                                  }
                                },
                                "id": 4406,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "boxTransferFrom",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 5980,
                                "src": "2413:48:13",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes32_$_t_bytes32_$_t_bytes32_$returns$_t_bool_$",
                                  "typeString": "function (address,address,uint256,bytes32,bytes32,bytes32) external returns (bool)"
                                }
                              },
                              "id": 4416,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "2413:110:13",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            ],
                            "id": 4402,
                            "name": "require",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [
                              8526,
                              8527
                            ],
                            "referencedDeclaration": 8526,
                            "src": "2405:7:13",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
                              "typeString": "function (bool) pure"
                            }
                          },
                          "id": 4417,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "2405:119:13",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 4418,
                        "nodeType": "ExpressionStatement",
                        "src": "2405:119:13"
                      }
                    ]
                  }
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 4442,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 4439,
                            "name": "msg",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8523,
                            "src": "2724:3:13",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_message",
                              "typeString": "msg"
                            }
                          },
                          "id": 4440,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "value",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "2724:9:13",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": ">=",
                        "rightExpression": {
                          "argumentTypes": null,
                          "id": 4441,
                          "name": "minQuestionFunding",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 4303,
                          "src": "2737:18:13",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "src": "2724:31:13",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      ],
                      "id": 4438,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        8526,
                        8527
                      ],
                      "referencedDeclaration": 8526,
                      "src": "2716:7:13",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
                        "typeString": "function (bool) pure"
                      }
                    },
                    "id": 4443,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2716:40:13",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 4444,
                  "nodeType": "ExpressionStatement",
                  "src": "2716:40:13"
                },
                {
                  "eventCall": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 4446,
                        "name": "branch",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4324,
                        "src": "2788:6:13",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 4447,
                        "name": "forkonomicToken",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4326,
                        "src": "2796:15:13",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 4448,
                        "name": "balanceChange",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4328,
                        "src": "2813:13:13",
                        "typeDescriptions": {
                          "typeIdentifier": "t_int256",
                          "typeString": "int256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 4449,
                        "name": "compensation",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4330,
                        "src": "2828:12:13",
                        "typeDescriptions": {
                          "typeIdentifier": "t_int256",
                          "typeString": "int256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 4450,
                          "name": "msg",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 8523,
                          "src": "2842:3:13",
                          "typeDescriptions": {
                            "typeIdentifier": "t_magic_message",
                            "typeString": "msg"
                          }
                        },
                        "id": 4451,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "sender",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": null,
                        "src": "2842:10:13",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_int256",
                          "typeString": "int256"
                        },
                        {
                          "typeIdentifier": "t_int256",
                          "typeString": "int256"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      ],
                      "id": 4445,
                      "name": "NewDealProposed",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 4268,
                      "src": "2772:15:13",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_int256_$_t_int256_$_t_address_$returns$__$",
                        "typeString": "function (bytes32,address,int256,int256,address)"
                      }
                    },
                    "id": 4452,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2772:81:13",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 4453,
                  "nodeType": "EmitStatement",
                  "src": "2767:86:13"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 4454,
                    "name": "questionId",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 4377,
                    "src": "2870:10:13",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "functionReturnParameters": 4338,
                  "id": 4455,
                  "nodeType": "Return",
                  "src": "2863:17:13"
                }
              ]
            },
            "documentation": null,
            "id": 4457,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "proposeInvestment",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 4335,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4324,
                  "name": "branch",
                  "nodeType": "VariableDeclaration",
                  "scope": 4457,
                  "src": "1536:14:13",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 4323,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1536:7:13",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4326,
                  "name": "forkonomicToken",
                  "nodeType": "VariableDeclaration",
                  "scope": 4457,
                  "src": "1552:23:13",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 4325,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1552:7:13",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4328,
                  "name": "balanceChange",
                  "nodeType": "VariableDeclaration",
                  "scope": 4457,
                  "src": "1577:17:13",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_int256",
                    "typeString": "int256"
                  },
                  "typeName": {
                    "id": 4327,
                    "name": "int",
                    "nodeType": "ElementaryTypeName",
                    "src": "1577:3:13",
                    "typeDescriptions": {
                      "typeIdentifier": "t_int256",
                      "typeString": "int256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4330,
                  "name": "compensation",
                  "nodeType": "VariableDeclaration",
                  "scope": 4457,
                  "src": "1596:16:13",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_int256",
                    "typeString": "int256"
                  },
                  "typeName": {
                    "id": 4329,
                    "name": "int",
                    "nodeType": "ElementaryTypeName",
                    "src": "1596:3:13",
                    "typeDescriptions": {
                      "typeIdentifier": "t_int256",
                      "typeString": "int256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4332,
                  "name": "arbitrator",
                  "nodeType": "VariableDeclaration",
                  "scope": 4457,
                  "src": "1614:18:13",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 4331,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1614:7:13",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4334,
                  "name": "fromBox",
                  "nodeType": "VariableDeclaration",
                  "scope": 4457,
                  "src": "1634:15:13",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 4333,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1634:7:13",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1535:115:13"
            },
            "payable": true,
            "returnParameters": {
              "id": 4338,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4337,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 4457,
                  "src": "1679:7:13",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 4336,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1679:7:13",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1678:9:13"
            },
            "scope": 4853,
            "src": "1509:1378:13",
            "stateMutability": "payable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 4666,
              "nodeType": "Block",
              "src": "3214:2531:13",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 4479,
                            "name": "originalbranch",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4463,
                            "src": "3327:14:13",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 4480,
                            "name": "executionbranch",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4461,
                            "src": "3343:15:13",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            },
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "id": 4477,
                            "name": "fSystem",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 5345,
                            "src": "3302:7:13",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_ForkonomicSystem_$5270",
                              "typeString": "contract ForkonomicSystem"
                            }
                          },
                          "id": 4478,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "isFatherOfBranch",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 5269,
                          "src": "3302:24:13",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_bytes32_$returns$_t_bool_$",
                            "typeString": "function (bytes32,bytes32) view external returns (bool)"
                          }
                        },
                        "id": 4481,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "3302:57:13",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "206272616e6368206973206e6f742061206368696c64206f66206f726967696e616c206272616e6368",
                        "id": 4482,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "3361:43:13",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_46ebfa022c3b924ef02ec8a758dfe75f447dfde9369dc8a4799c9037a84d2ffe",
                          "typeString": "literal_string \" branch is not a child of original branch\""
                        },
                        "value": " branch is not a child of original branch"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_46ebfa022c3b924ef02ec8a758dfe75f447dfde9369dc8a4799c9037a84d2ffe",
                          "typeString": "literal_string \" branch is not a child of original branch\""
                        }
                      ],
                      "id": 4476,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        8526,
                        8527
                      ],
                      "referencedDeclaration": 8527,
                      "src": "3294:7:13",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 4483,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3294:111:13",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 4484,
                  "nodeType": "ExpressionStatement",
                  "src": "3294:111:13"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 4488,
                            "name": "arbitrator",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4471,
                            "src": "3507:10:13",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 4489,
                            "name": "executionbranch",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4461,
                            "src": "3519:15:13",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            },
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "id": 4486,
                            "name": "fSystem",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 5345,
                            "src": "3475:7:13",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_ForkonomicSystem_$5270",
                              "typeString": "contract ForkonomicSystem"
                            }
                          },
                          "id": 4487,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "isArbitratorWhitelisted",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 5152,
                          "src": "3475:31:13",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_view$_t_address_$_t_bytes32_$returns$_t_bool_$",
                            "typeString": "function (address,bytes32) view external returns (bool)"
                          }
                        },
                        "id": 4490,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "3475:60:13",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "61726269747261746f72206973206e6f742077686974652d6c6973746564",
                        "id": 4491,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "3537:32:13",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_f84fd87c92ae620f7831938d14e18b2a487699f26b9d25a68929007d7cb502c6",
                          "typeString": "literal_string \"arbitrator is not white-listed\""
                        },
                        "value": "arbitrator is not white-listed"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_f84fd87c92ae620f7831938d14e18b2a487699f26b9d25a68929007d7cb502c6",
                          "typeString": "literal_string \"arbitrator is not white-listed\""
                        }
                      ],
                      "id": 4485,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        8526,
                        8527
                      ],
                      "referencedDeclaration": 8527,
                      "src": "3467:7:13",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 4492,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3467:103:13",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 4493,
                  "nodeType": "ExpressionStatement",
                  "src": "3467:103:13"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "id": 4499,
                                "name": "questionId",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 4459,
                                "src": "3647:10:13",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              ],
                              "expression": {
                                "argumentTypes": null,
                                "id": 4497,
                                "name": "realityCheck",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 4279,
                                "src": "3620:12:13",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_contract$_Realitio_$8289",
                                  "typeString": "contract Realitio"
                                }
                              },
                              "id": 4498,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "getFinalizeTS",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 8223,
                              "src": "3620:26:13",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_uint32_$",
                                "typeString": "function (bytes32) view external returns (uint32)"
                              }
                            },
                            "id": 4500,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "3620:38:13",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint32",
                              "typeString": "uint32"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 4501,
                            "name": "executionbranch",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4461,
                            "src": "3660:15:13",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_uint32",
                              "typeString": "uint32"
                            },
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "id": 4495,
                            "name": "fSystem",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 5345,
                            "src": "3589:7:13",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_ForkonomicSystem_$5270",
                              "typeString": "contract ForkonomicSystem"
                            }
                          },
                          "id": 4496,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "isBranchCreatedAfterTS",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 5215,
                          "src": "3589:30:13",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_view$_t_uint256_$_t_bytes32_$returns$_t_bool_$",
                            "typeString": "function (uint256,bytes32) view external returns (bool)"
                          }
                        },
                        "id": 4502,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "3589:87:13",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "77696e646f77202b2074696d6520206973206e6f7420636f7272656374",
                        "id": 4503,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "3678:31:13",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_df287d9abd71b3487296293693b54ca7fcab91d1b10e393da43053b7747e0814",
                          "typeString": "literal_string \"window + time  is not correct\""
                        },
                        "value": "window + time  is not correct"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_df287d9abd71b3487296293693b54ca7fcab91d1b10e393da43053b7747e0814",
                          "typeString": "literal_string \"window + time  is not correct\""
                        }
                      ],
                      "id": 4494,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        8526,
                        8527
                      ],
                      "referencedDeclaration": 8527,
                      "src": "3581:7:13",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 4504,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3581:129:13",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 4505,
                  "nodeType": "ExpressionStatement",
                  "src": "3581:129:13"
                },
                {
                  "assignments": [
                    4507
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 4507,
                      "name": "deal",
                      "nodeType": "VariableDeclaration",
                      "scope": 4667,
                      "src": "3761:12:13",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      },
                      "typeName": {
                        "id": 4506,
                        "name": "bytes32",
                        "nodeType": "ElementaryTypeName",
                        "src": "3761:7:13",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 4519,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 4511,
                            "name": "originalbranch",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4463,
                            "src": "3803:14:13",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 4512,
                            "name": "forkonomicToken",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4465,
                            "src": "3819:15:13",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 4513,
                            "name": "balanceChange_",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4467,
                            "src": "3836:14:13",
                            "typeDescriptions": {
                              "typeIdentifier": "t_int256",
                              "typeString": "int256"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 4514,
                            "name": "compensation",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4469,
                            "src": "3852:12:13",
                            "typeDescriptions": {
                              "typeIdentifier": "t_int256",
                              "typeString": "int256"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 4515,
                              "name": "msg",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8523,
                              "src": "3866:3:13",
                              "typeDescriptions": {
                                "typeIdentifier": "t_magic_message",
                                "typeString": "msg"
                              }
                            },
                            "id": 4516,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "sender",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": null,
                            "src": "3866:10:13",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            },
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            },
                            {
                              "typeIdentifier": "t_int256",
                              "typeString": "int256"
                            },
                            {
                              "typeIdentifier": "t_int256",
                              "typeString": "int256"
                            },
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "id": 4509,
                            "name": "abi",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8510,
                            "src": "3786:3:13",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_abi",
                              "typeString": "abi"
                            }
                          },
                          "id": 4510,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberName": "encodePacked",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "3786:16:13",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                            "typeString": "function () pure returns (bytes memory)"
                          }
                        },
                        "id": 4517,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "3786:91:13",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      ],
                      "id": 4508,
                      "name": "keccak256",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 8517,
                      "src": "3776:9:13",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
                        "typeString": "function () pure returns (bytes32)"
                      }
                    },
                    "id": 4518,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3776:102:13",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "3761:117:13"
                },
                {
                  "assignments": [
                    4521
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 4521,
                      "name": "question",
                      "nodeType": "VariableDeclaration",
                      "scope": 4667,
                      "src": "3888:22:13",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_memory_ptr",
                        "typeString": "string"
                      },
                      "typeName": {
                        "id": 4520,
                        "name": "string",
                        "nodeType": "ElementaryTypeName",
                        "src": "3888:6:13",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_storage_ptr",
                          "typeString": "string"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 4534,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "hexValue": "46726f6d20616c6c206f666665727320666f72207468652066455454462c2074686520666f6c6c6f77696e67206465616c207761732074686520626573743a",
                            "id": 4525,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "string",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "3937:65:13",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_stringliteral_fbd8dd6195a7b9dc45c0335ee9299d06289ca50de6fafdfdbc252303313bb4d7",
                              "typeString": "literal_string \"From all offers for the fETTF, the following deal was the best:\""
                            },
                            "value": "From all offers for the fETTF, the following deal was the best:"
                          },
                          {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "arguments": [
                                  {
                                    "argumentTypes": null,
                                    "id": 4528,
                                    "name": "deal",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 4507,
                                    "src": "4028:4:13",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bytes32",
                                      "typeString": "bytes32"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_bytes32",
                                      "typeString": "bytes32"
                                    }
                                  ],
                                  "id": 4527,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "lValueRequested": false,
                                  "nodeType": "ElementaryTypeNameExpression",
                                  "src": "4020:7:13",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_type$_t_bytes32_$",
                                    "typeString": "type(bytes32)"
                                  },
                                  "typeName": "bytes32"
                                },
                                "id": 4529,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "typeConversion",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "4020:13:13",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              ],
                              "id": 4526,
                              "name": "bytes32ToString",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 4822,
                              "src": "4004:15:13",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$returns$_t_string_memory_ptr_$",
                                "typeString": "function (bytes32) returns (string memory)"
                              }
                            },
                            "id": 4530,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "4004:30:13",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "hexValue": "3f",
                            "id": 4531,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "string",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "4036:3:13",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_stringliteral_5f179612d7132c8ed24ba0e286d60d398c4aa1c234eb2274ca1bba47718e9d31",
                              "typeString": "literal_string \"?\""
                            },
                            "value": "?"
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_stringliteral_fbd8dd6195a7b9dc45c0335ee9299d06289ca50de6fafdfdbc252303313bb4d7",
                              "typeString": "literal_string \"From all offers for the fETTF, the following deal was the best:\""
                            },
                            {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            },
                            {
                              "typeIdentifier": "t_stringliteral_5f179612d7132c8ed24ba0e286d60d398c4aa1c234eb2274ca1bba47718e9d31",
                              "typeString": "literal_string \"?\""
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "id": 4523,
                            "name": "abi",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8510,
                            "src": "3920:3:13",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_abi",
                              "typeString": "abi"
                            }
                          },
                          "id": 4524,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberName": "encodePacked",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "3920:16:13",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                            "typeString": "function () pure returns (bytes memory)"
                          }
                        },
                        "id": 4532,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "3920:120:13",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      ],
                      "id": 4522,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "nodeType": "ElementaryTypeNameExpression",
                      "src": "3913:6:13",
                      "typeDescriptions": {
                        "typeIdentifier": "t_type$_t_string_storage_ptr_$",
                        "typeString": "type(string storage pointer)"
                      },
                      "typeName": "string"
                    },
                    "id": 4533,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "typeConversion",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3913:128:13",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory",
                      "typeString": "string memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "3888:153:13"
                },
                {
                  "assignments": [
                    4536
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 4536,
                      "name": "contentHash",
                      "nodeType": "VariableDeclaration",
                      "scope": 4667,
                      "src": "4051:19:13",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      },
                      "typeName": {
                        "id": 4535,
                        "name": "bytes32",
                        "nodeType": "ElementaryTypeName",
                        "src": "4051:7:13",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 4545,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 4540,
                            "name": "templateId",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4292,
                            "src": "4100:10:13",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 4541,
                            "name": "openingTs",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4300,
                            "src": "4112:9:13",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint32",
                              "typeString": "uint32"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 4542,
                            "name": "question",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4521,
                            "src": "4123:8:13",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            {
                              "typeIdentifier": "t_uint32",
                              "typeString": "uint32"
                            },
                            {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "id": 4538,
                            "name": "abi",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8510,
                            "src": "4083:3:13",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_abi",
                              "typeString": "abi"
                            }
                          },
                          "id": 4539,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberName": "encodePacked",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "4083:16:13",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                            "typeString": "function () pure returns (bytes memory)"
                          }
                        },
                        "id": 4543,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "4083:49:13",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      ],
                      "id": 4537,
                      "name": "keccak256",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 8517,
                      "src": "4073:9:13",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
                        "typeString": "function () pure returns (bytes32)"
                      }
                    },
                    "id": 4544,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4073:60:13",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "4051:82:13"
                },
                {
                  "assignments": [
                    4547
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 4547,
                      "name": "ans",
                      "nodeType": "VariableDeclaration",
                      "scope": 4667,
                      "src": "4148:8:13",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 4546,
                        "name": "uint",
                        "nodeType": "ElementaryTypeName",
                        "src": "4148:4:13",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 4558,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 4551,
                            "name": "questionId",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4459,
                            "src": "4201:10:13",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 4552,
                            "name": "contentHash",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4536,
                            "src": "4213:11:13",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 4553,
                            "name": "arbitrator",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4471,
                            "src": "4226:10:13",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 4554,
                            "name": "minTimeout",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4298,
                            "src": "4238:10:13",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint32",
                              "typeString": "uint32"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 4555,
                            "name": "minBond",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4295,
                            "src": "4250:7:13",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            },
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            },
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            },
                            {
                              "typeIdentifier": "t_uint32",
                              "typeString": "uint32"
                            },
                            {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "id": 4549,
                            "name": "realityCheck",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4279,
                            "src": "4164:12:13",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_Realitio_$8289",
                              "typeString": "contract Realitio"
                            }
                          },
                          "id": 4550,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "getFinalAnswerIfMatches",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 7595,
                          "src": "4164:36:13",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_view$_t_bytes32_$_t_bytes32_$_t_address_$_t_uint32_$_t_uint256_$returns$_t_bytes32_$",
                            "typeString": "function (bytes32,bytes32,address,uint32,uint256) view external returns (bytes32)"
                          }
                        },
                        "id": 4556,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "4164:94:13",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      ],
                      "id": 4548,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "nodeType": "ElementaryTypeNameExpression",
                      "src": "4159:4:13",
                      "typeDescriptions": {
                        "typeIdentifier": "t_type$_t_uint256_$",
                        "typeString": "type(uint256)"
                      },
                      "typeName": "uint"
                    },
                    "id": 4557,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "typeConversion",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "4159:100:13",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "4148:111:13"
                },
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 4561,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 4559,
                      "name": "ans",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 4547,
                      "src": "4546:3:13",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "==",
                    "rightExpression": {
                      "argumentTypes": null,
                      "hexValue": "30",
                      "id": 4560,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "4553:1:13",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "src": "4546:8:13",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": {
                    "id": 4664,
                    "nodeType": "Block",
                    "src": "4918:821:13",
                    "statements": [
                      {
                        "condition": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_int256",
                            "typeString": "int256"
                          },
                          "id": 4598,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "id": 4596,
                            "name": "balanceChange_",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4467,
                            "src": "5018:14:13",
                            "typeDescriptions": {
                              "typeIdentifier": "t_int256",
                              "typeString": "int256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": ">",
                          "rightExpression": {
                            "argumentTypes": null,
                            "hexValue": "30",
                            "id": 4597,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "5035:1:13",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_0_by_1",
                              "typeString": "int_const 0"
                            },
                            "value": "0"
                          },
                          "src": "5018:18:13",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "falseBody": {
                          "id": 4662,
                          "nodeType": "Block",
                          "src": "5442:287:13",
                          "statements": [
                            {
                              "expression": {
                                "argumentTypes": null,
                                "arguments": [
                                  {
                                    "argumentTypes": null,
                                    "arguments": [
                                      {
                                        "argumentTypes": null,
                                        "expression": {
                                          "argumentTypes": null,
                                          "id": 4647,
                                          "name": "msg",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 8523,
                                          "src": "5594:3:13",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_magic_message",
                                            "typeString": "msg"
                                          }
                                        },
                                        "id": 4648,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "memberName": "sender",
                                        "nodeType": "MemberAccess",
                                        "referencedDeclaration": null,
                                        "src": "5594:10:13",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_address",
                                          "typeString": "address"
                                        }
                                      },
                                      {
                                        "argumentTypes": null,
                                        "arguments": [
                                          {
                                            "argumentTypes": null,
                                            "id": 4650,
                                            "name": "balanceChange_",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 4467,
                                            "src": "5611:14:13",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_int256",
                                              "typeString": "int256"
                                            }
                                          }
                                        ],
                                        "expression": {
                                          "argumentTypes": [
                                            {
                                              "typeIdentifier": "t_int256",
                                              "typeString": "int256"
                                            }
                                          ],
                                          "id": 4649,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": true,
                                          "lValueRequested": false,
                                          "nodeType": "ElementaryTypeNameExpression",
                                          "src": "5606:4:13",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_type$_t_uint256_$",
                                            "typeString": "type(uint256)"
                                          },
                                          "typeName": "uint"
                                        },
                                        "id": 4651,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "typeConversion",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "5606:20:13",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        }
                                      },
                                      {
                                        "argumentTypes": null,
                                        "id": 4652,
                                        "name": "executionbranch",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 4461,
                                        "src": "5628:15:13",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_bytes32",
                                          "typeString": "bytes32"
                                        }
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_address",
                                          "typeString": "address"
                                        },
                                        {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        },
                                        {
                                          "typeIdentifier": "t_bytes32",
                                          "typeString": "bytes32"
                                        }
                                      ],
                                      "expression": {
                                        "argumentTypes": null,
                                        "arguments": [
                                          {
                                            "argumentTypes": null,
                                            "id": 4644,
                                            "name": "forkonomicToken",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 4465,
                                            "src": "5568:15:13",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_address",
                                              "typeString": "address"
                                            }
                                          }
                                        ],
                                        "expression": {
                                          "argumentTypes": [
                                            {
                                              "typeIdentifier": "t_address",
                                              "typeString": "address"
                                            }
                                          ],
                                          "id": 4643,
                                          "name": "ForkonomicToken",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 6226,
                                          "src": "5552:15:13",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_type$_t_contract$_ForkonomicToken_$6226_$",
                                            "typeString": "type(contract ForkonomicToken)"
                                          }
                                        },
                                        "id": 4645,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "typeConversion",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "5552:32:13",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_contract$_ForkonomicToken_$6226",
                                          "typeString": "contract ForkonomicToken"
                                        }
                                      },
                                      "id": 4646,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "memberName": "transfer",
                                      "nodeType": "MemberAccess",
                                      "referencedDeclaration": 5687,
                                      "src": "5552:41:13",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$_t_bytes32_$returns$_t_bool_$",
                                        "typeString": "function (address,uint256,bytes32) external returns (bool)"
                                      }
                                    },
                                    "id": 4653,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "functionCall",
                                    "lValueRequested": false,
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "5552:92:13",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bool",
                                      "typeString": "bool"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_bool",
                                      "typeString": "bool"
                                    }
                                  ],
                                  "id": 4642,
                                  "name": "require",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [
                                    8526,
                                    8527
                                  ],
                                  "referencedDeclaration": 8526,
                                  "src": "5544:7:13",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
                                    "typeString": "function (bool) pure"
                                  }
                                },
                                "id": 4654,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "5544:101:13",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_tuple$__$",
                                  "typeString": "tuple()"
                                }
                              },
                              "id": 4655,
                              "nodeType": "ExpressionStatement",
                              "src": "5544:101:13"
                            },
                            {
                              "expression": {
                                "argumentTypes": null,
                                "id": 4660,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftHandSide": {
                                  "argumentTypes": null,
                                  "baseExpression": {
                                    "argumentTypes": null,
                                    "id": 4656,
                                    "name": "fETTFbalanceChange",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 4289,
                                    "src": "5663:18:13",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_mapping$_t_bytes32_$_t_int256_$",
                                      "typeString": "mapping(bytes32 => int256)"
                                    }
                                  },
                                  "id": 4658,
                                  "indexExpression": {
                                    "argumentTypes": null,
                                    "id": 4657,
                                    "name": "executionbranch",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 4461,
                                    "src": "5682:15:13",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bytes32",
                                      "typeString": "bytes32"
                                    }
                                  },
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": true,
                                  "nodeType": "IndexAccess",
                                  "src": "5663:35:13",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_int256",
                                    "typeString": "int256"
                                  }
                                },
                                "nodeType": "Assignment",
                                "operator": "+=",
                                "rightHandSide": {
                                  "argumentTypes": null,
                                  "id": 4659,
                                  "name": "compensation",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 4469,
                                  "src": "5702:12:13",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_int256",
                                    "typeString": "int256"
                                  }
                                },
                                "src": "5663:51:13",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_int256",
                                  "typeString": "int256"
                                }
                              },
                              "id": 4661,
                              "nodeType": "ExpressionStatement",
                              "src": "5663:51:13"
                            }
                          ]
                        },
                        "id": 4663,
                        "nodeType": "IfStatement",
                        "src": "5014:715:13",
                        "trueBody": {
                          "id": 4641,
                          "nodeType": "Block",
                          "src": "5038:398:13",
                          "statements": [
                            {
                              "expression": {
                                "argumentTypes": null,
                                "arguments": [
                                  {
                                    "argumentTypes": null,
                                    "id": 4607,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "nodeType": "UnaryOperation",
                                    "operator": "!",
                                    "prefix": true,
                                    "src": "5064:73:13",
                                    "subExpression": {
                                      "argumentTypes": null,
                                      "arguments": [
                                        {
                                          "argumentTypes": null,
                                          "expression": {
                                            "argumentTypes": null,
                                            "id": 4601,
                                            "name": "msg",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 8523,
                                            "src": "5082:3:13",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_magic_message",
                                              "typeString": "msg"
                                            }
                                          },
                                          "id": 4602,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "memberName": "sender",
                                          "nodeType": "MemberAccess",
                                          "referencedDeclaration": null,
                                          "src": "5082:10:13",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                          }
                                        },
                                        {
                                          "argumentTypes": null,
                                          "id": 4603,
                                          "name": "NULL_HASH",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 5317,
                                          "src": "5094:9:13",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                          }
                                        },
                                        {
                                          "argumentTypes": null,
                                          "id": 4604,
                                          "name": "executionbranch",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 4461,
                                          "src": "5105:15:13",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                          }
                                        },
                                        {
                                          "argumentTypes": null,
                                          "id": 4605,
                                          "name": "originalbranch",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 4463,
                                          "src": "5122:14:13",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                          }
                                        }
                                      ],
                                      "expression": {
                                        "argumentTypes": [
                                          {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                          },
                                          {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                          },
                                          {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                          },
                                          {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                          }
                                        ],
                                        "id": 4600,
                                        "name": "hasBoxWithdrawal",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 6102,
                                        "src": "5065:16:13",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_function_internal_view$_t_address_$_t_bytes32_$_t_bytes32_$_t_bytes32_$returns$_t_bool_$",
                                          "typeString": "function (address,bytes32,bytes32,bytes32) view returns (bool)"
                                        }
                                      },
                                      "id": 4606,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "kind": "functionCall",
                                      "lValueRequested": false,
                                      "names": [],
                                      "nodeType": "FunctionCall",
                                      "src": "5065:72:13",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                      }
                                    },
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bool",
                                      "typeString": "bool"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_bool",
                                      "typeString": "bool"
                                    }
                                  ],
                                  "id": 4599,
                                  "name": "require",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [
                                    8526,
                                    8527
                                  ],
                                  "referencedDeclaration": 8526,
                                  "src": "5056:7:13",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
                                    "typeString": "function (bool) pure"
                                  }
                                },
                                "id": 4608,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "5056:82:13",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_tuple$__$",
                                  "typeString": "tuple()"
                                }
                              },
                              "id": 4609,
                              "nodeType": "ExpressionStatement",
                              "src": "5056:82:13"
                            },
                            {
                              "expression": {
                                "argumentTypes": null,
                                "id": 4623,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftHandSide": {
                                  "argumentTypes": null,
                                  "baseExpression": {
                                    "argumentTypes": null,
                                    "baseExpression": {
                                      "argumentTypes": null,
                                      "id": 4610,
                                      "name": "balanceChange",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 5323,
                                      "src": "5157:13:13",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_bytes32_$_t_int256_$_$",
                                        "typeString": "mapping(bytes32 => mapping(bytes32 => int256))"
                                      }
                                    },
                                    "id": 4620,
                                    "indexExpression": {
                                      "argumentTypes": null,
                                      "id": 4611,
                                      "name": "executionbranch",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 4461,
                                      "src": "5171:15:13",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_bytes32",
                                        "typeString": "bytes32"
                                      }
                                    },
                                    "isConstant": false,
                                    "isLValue": true,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "nodeType": "IndexAccess",
                                    "src": "5157:30:13",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_mapping$_t_bytes32_$_t_int256_$",
                                      "typeString": "mapping(bytes32 => int256)"
                                    }
                                  },
                                  "id": 4621,
                                  "indexExpression": {
                                    "argumentTypes": null,
                                    "arguments": [
                                      {
                                        "argumentTypes": null,
                                        "arguments": [
                                          {
                                            "argumentTypes": null,
                                            "expression": {
                                              "argumentTypes": null,
                                              "id": 4615,
                                              "name": "msg",
                                              "nodeType": "Identifier",
                                              "overloadedDeclarations": [],
                                              "referencedDeclaration": 8523,
                                              "src": "5215:3:13",
                                              "typeDescriptions": {
                                                "typeIdentifier": "t_magic_message",
                                                "typeString": "msg"
                                              }
                                            },
                                            "id": 4616,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "memberName": "sender",
                                            "nodeType": "MemberAccess",
                                            "referencedDeclaration": null,
                                            "src": "5215:10:13",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_address",
                                              "typeString": "address"
                                            }
                                          },
                                          {
                                            "argumentTypes": null,
                                            "id": 4617,
                                            "name": "NULL_HASH",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 5317,
                                            "src": "5227:9:13",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_bytes32",
                                              "typeString": "bytes32"
                                            }
                                          }
                                        ],
                                        "expression": {
                                          "argumentTypes": [
                                            {
                                              "typeIdentifier": "t_address",
                                              "typeString": "address"
                                            },
                                            {
                                              "typeIdentifier": "t_bytes32",
                                              "typeString": "bytes32"
                                            }
                                          ],
                                          "expression": {
                                            "argumentTypes": null,
                                            "id": 4613,
                                            "name": "abi",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 8510,
                                            "src": "5198:3:13",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_magic_abi",
                                              "typeString": "abi"
                                            }
                                          },
                                          "id": 4614,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": true,
                                          "lValueRequested": false,
                                          "memberName": "encodePacked",
                                          "nodeType": "MemberAccess",
                                          "referencedDeclaration": null,
                                          "src": "5198:16:13",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                                            "typeString": "function () pure returns (bytes memory)"
                                          }
                                        },
                                        "id": 4618,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "5198:39:13",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_bytes_memory_ptr",
                                          "typeString": "bytes memory"
                                        }
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_bytes_memory_ptr",
                                          "typeString": "bytes memory"
                                        }
                                      ],
                                      "id": 4612,
                                      "name": "keccak256",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 8517,
                                      "src": "5188:9:13",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
                                        "typeString": "function () pure returns (bytes32)"
                                      }
                                    },
                                    "id": 4619,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "functionCall",
                                    "lValueRequested": false,
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "5188:50:13",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bytes32",
                                      "typeString": "bytes32"
                                    }
                                  },
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": true,
                                  "nodeType": "IndexAccess",
                                  "src": "5157:82:13",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_int256",
                                    "typeString": "int256"
                                  }
                                },
                                "nodeType": "Assignment",
                                "operator": "+=",
                                "rightHandSide": {
                                  "argumentTypes": null,
                                  "id": 4622,
                                  "name": "compensation",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 4469,
                                  "src": "5243:12:13",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_int256",
                                    "typeString": "int256"
                                  }
                                },
                                "src": "5157:98:13",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_int256",
                                  "typeString": "int256"
                                }
                              },
                              "id": 4624,
                              "nodeType": "ExpressionStatement",
                              "src": "5157:98:13"
                            },
                            {
                              "expression": {
                                "argumentTypes": null,
                                "id": 4629,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftHandSide": {
                                  "argumentTypes": null,
                                  "baseExpression": {
                                    "argumentTypes": null,
                                    "id": 4625,
                                    "name": "fETTFbalanceChange",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 4289,
                                    "src": "5273:18:13",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_mapping$_t_bytes32_$_t_int256_$",
                                      "typeString": "mapping(bytes32 => int256)"
                                    }
                                  },
                                  "id": 4627,
                                  "indexExpression": {
                                    "argumentTypes": null,
                                    "id": 4626,
                                    "name": "executionbranch",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 4461,
                                    "src": "5292:15:13",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bytes32",
                                      "typeString": "bytes32"
                                    }
                                  },
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": true,
                                  "nodeType": "IndexAccess",
                                  "src": "5273:35:13",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_int256",
                                    "typeString": "int256"
                                  }
                                },
                                "nodeType": "Assignment",
                                "operator": "+=",
                                "rightHandSide": {
                                  "argumentTypes": null,
                                  "id": 4628,
                                  "name": "compensation",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 4469,
                                  "src": "5312:12:13",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_int256",
                                    "typeString": "int256"
                                  }
                                },
                                "src": "5273:51:13",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_int256",
                                  "typeString": "int256"
                                }
                              },
                              "id": 4630,
                              "nodeType": "ExpressionStatement",
                              "src": "5273:51:13"
                            },
                            {
                              "expression": {
                                "argumentTypes": null,
                                "arguments": [
                                  {
                                    "argumentTypes": null,
                                    "expression": {
                                      "argumentTypes": null,
                                      "id": 4632,
                                      "name": "msg",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 8523,
                                      "src": "5362:3:13",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_magic_message",
                                        "typeString": "msg"
                                      }
                                    },
                                    "id": 4633,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "memberName": "sender",
                                    "nodeType": "MemberAccess",
                                    "referencedDeclaration": null,
                                    "src": "5362:10:13",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    }
                                  },
                                  {
                                    "argumentTypes": null,
                                    "id": 4634,
                                    "name": "NULL_HASH",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 5317,
                                    "src": "5374:9:13",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bytes32",
                                      "typeString": "bytes32"
                                    }
                                  },
                                  {
                                    "argumentTypes": null,
                                    "arguments": [
                                      {
                                        "argumentTypes": null,
                                        "id": 4636,
                                        "name": "compensation",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 4469,
                                        "src": "5390:12:13",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_int256",
                                          "typeString": "int256"
                                        }
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_int256",
                                          "typeString": "int256"
                                        }
                                      ],
                                      "id": 4635,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "nodeType": "ElementaryTypeNameExpression",
                                      "src": "5385:4:13",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_type$_t_uint256_$",
                                        "typeString": "type(uint256)"
                                      },
                                      "typeName": "uint"
                                    },
                                    "id": 4637,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "typeConversion",
                                    "lValueRequested": false,
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "5385:18:13",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  {
                                    "argumentTypes": null,
                                    "id": 4638,
                                    "name": "executionbranch",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 4461,
                                    "src": "5405:15:13",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bytes32",
                                      "typeString": "bytes32"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_address",
                                      "typeString": "address"
                                    },
                                    {
                                      "typeIdentifier": "t_bytes32",
                                      "typeString": "bytes32"
                                    },
                                    {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    },
                                    {
                                      "typeIdentifier": "t_bytes32",
                                      "typeString": "bytes32"
                                    }
                                  ],
                                  "id": 4631,
                                  "name": "recordBoxWithdrawal",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 6047,
                                  "src": "5342:19:13",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_bytes32_$_t_uint256_$_t_bytes32_$returns$_t_bool_$",
                                    "typeString": "function (address,bytes32,uint256,bytes32) returns (bool)"
                                  }
                                },
                                "id": 4639,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "5342:79:13",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              },
                              "id": 4640,
                              "nodeType": "ExpressionStatement",
                              "src": "5342:79:13"
                            }
                          ]
                        }
                      }
                    ]
                  },
                  "id": 4665,
                  "nodeType": "IfStatement",
                  "src": "4542:1197:13",
                  "trueBody": {
                    "id": 4595,
                    "nodeType": "Block",
                    "src": "4556:356:13",
                    "statements": [
                      {
                        "condition": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_int256",
                            "typeString": "int256"
                          },
                          "id": 4564,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "id": 4562,
                            "name": "balanceChange_",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4467,
                            "src": "4625:14:13",
                            "typeDescriptions": {
                              "typeIdentifier": "t_int256",
                              "typeString": "int256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": ">",
                          "rightExpression": {
                            "argumentTypes": null,
                            "hexValue": "30",
                            "id": 4563,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "4642:1:13",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_0_by_1",
                              "typeString": "int_const 0"
                            },
                            "value": "0"
                          },
                          "src": "4625:18:13",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "falseBody": {
                          "id": 4593,
                          "nodeType": "Block",
                          "src": "4803:99:13",
                          "statements": [
                            {
                              "expression": {
                                "argumentTypes": null,
                                "arguments": [
                                  {
                                    "argumentTypes": null,
                                    "arguments": [
                                      {
                                        "argumentTypes": null,
                                        "expression": {
                                          "argumentTypes": null,
                                          "id": 4584,
                                          "name": "msg",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 8523,
                                          "src": "4838:3:13",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_magic_message",
                                            "typeString": "msg"
                                          }
                                        },
                                        "id": 4585,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "memberName": "sender",
                                        "nodeType": "MemberAccess",
                                        "referencedDeclaration": null,
                                        "src": "4838:10:13",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_address",
                                          "typeString": "address"
                                        }
                                      },
                                      {
                                        "argumentTypes": null,
                                        "arguments": [
                                          {
                                            "argumentTypes": null,
                                            "id": 4587,
                                            "name": "compensation",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 4469,
                                            "src": "4855:12:13",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_int256",
                                              "typeString": "int256"
                                            }
                                          }
                                        ],
                                        "expression": {
                                          "argumentTypes": [
                                            {
                                              "typeIdentifier": "t_int256",
                                              "typeString": "int256"
                                            }
                                          ],
                                          "id": 4586,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": true,
                                          "lValueRequested": false,
                                          "nodeType": "ElementaryTypeNameExpression",
                                          "src": "4850:4:13",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_type$_t_uint256_$",
                                            "typeString": "type(uint256)"
                                          },
                                          "typeName": "uint"
                                        },
                                        "id": 4588,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "typeConversion",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "4850:18:13",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        }
                                      },
                                      {
                                        "argumentTypes": null,
                                        "id": 4589,
                                        "name": "executionbranch",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 4461,
                                        "src": "4870:15:13",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_bytes32",
                                          "typeString": "bytes32"
                                        }
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_address",
                                          "typeString": "address"
                                        },
                                        {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        },
                                        {
                                          "typeIdentifier": "t_bytes32",
                                          "typeString": "bytes32"
                                        }
                                      ],
                                      "id": 4583,
                                      "name": "transfer",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 5687,
                                      "src": "4829:8:13",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bytes32_$returns$_t_bool_$",
                                        "typeString": "function (address,uint256,bytes32) returns (bool)"
                                      }
                                    },
                                    "id": 4590,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "functionCall",
                                    "lValueRequested": false,
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "4829:57:13",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bool",
                                      "typeString": "bool"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_bool",
                                      "typeString": "bool"
                                    }
                                  ],
                                  "id": 4582,
                                  "name": "require",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [
                                    8526,
                                    8527
                                  ],
                                  "referencedDeclaration": 8526,
                                  "src": "4821:7:13",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
                                    "typeString": "function (bool) pure"
                                  }
                                },
                                "id": 4591,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "4821:66:13",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_tuple$__$",
                                  "typeString": "tuple()"
                                }
                              },
                              "id": 4592,
                              "nodeType": "ExpressionStatement",
                              "src": "4821:66:13"
                            }
                          ]
                        },
                        "id": 4594,
                        "nodeType": "IfStatement",
                        "src": "4621:281:13",
                        "trueBody": {
                          "id": 4581,
                          "nodeType": "Block",
                          "src": "4645:152:13",
                          "statements": [
                            {
                              "expression": {
                                "argumentTypes": null,
                                "arguments": [
                                  {
                                    "argumentTypes": null,
                                    "arguments": [
                                      {
                                        "argumentTypes": null,
                                        "expression": {
                                          "argumentTypes": null,
                                          "id": 4570,
                                          "name": "msg",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 8523,
                                          "src": "4716:3:13",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_magic_message",
                                            "typeString": "msg"
                                          }
                                        },
                                        "id": 4571,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "memberName": "sender",
                                        "nodeType": "MemberAccess",
                                        "referencedDeclaration": null,
                                        "src": "4716:10:13",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_address",
                                          "typeString": "address"
                                        }
                                      },
                                      {
                                        "argumentTypes": null,
                                        "arguments": [
                                          {
                                            "argumentTypes": null,
                                            "id": 4573,
                                            "name": "balanceChange_",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 4467,
                                            "src": "4733:14:13",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_int256",
                                              "typeString": "int256"
                                            }
                                          }
                                        ],
                                        "expression": {
                                          "argumentTypes": [
                                            {
                                              "typeIdentifier": "t_int256",
                                              "typeString": "int256"
                                            }
                                          ],
                                          "id": 4572,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": true,
                                          "lValueRequested": false,
                                          "nodeType": "ElementaryTypeNameExpression",
                                          "src": "4728:4:13",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_type$_t_uint256_$",
                                            "typeString": "type(uint256)"
                                          },
                                          "typeName": "uint"
                                        },
                                        "id": 4574,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "typeConversion",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "4728:20:13",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        }
                                      },
                                      {
                                        "argumentTypes": null,
                                        "id": 4575,
                                        "name": "executionbranch",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 4461,
                                        "src": "4750:15:13",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_bytes32",
                                          "typeString": "bytes32"
                                        }
                                      },
                                      {
                                        "argumentTypes": null,
                                        "id": 4576,
                                        "name": "deal",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 4507,
                                        "src": "4767:4:13",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_bytes32",
                                          "typeString": "bytes32"
                                        }
                                      },
                                      {
                                        "argumentTypes": null,
                                        "id": 4577,
                                        "name": "fromBox",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 4473,
                                        "src": "4773:7:13",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_bytes32",
                                          "typeString": "bytes32"
                                        }
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_address",
                                          "typeString": "address"
                                        },
                                        {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        },
                                        {
                                          "typeIdentifier": "t_bytes32",
                                          "typeString": "bytes32"
                                        },
                                        {
                                          "typeIdentifier": "t_bytes32",
                                          "typeString": "bytes32"
                                        },
                                        {
                                          "typeIdentifier": "t_bytes32",
                                          "typeString": "bytes32"
                                        }
                                      ],
                                      "expression": {
                                        "argumentTypes": null,
                                        "arguments": [
                                          {
                                            "argumentTypes": null,
                                            "id": 4567,
                                            "name": "forkonomicToken",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 4465,
                                            "src": "4687:15:13",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_address",
                                              "typeString": "address"
                                            }
                                          }
                                        ],
                                        "expression": {
                                          "argumentTypes": [
                                            {
                                              "typeIdentifier": "t_address",
                                              "typeString": "address"
                                            }
                                          ],
                                          "id": 4566,
                                          "name": "ForkonomicToken",
                                          "nodeType": "Identifier",
                                          "overloadedDeclarations": [],
                                          "referencedDeclaration": 6226,
                                          "src": "4671:15:13",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_type$_t_contract$_ForkonomicToken_$6226_$",
                                            "typeString": "type(contract ForkonomicToken)"
                                          }
                                        },
                                        "id": 4568,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "typeConversion",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "4671:32:13",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_contract$_ForkonomicToken_$6226",
                                          "typeString": "contract ForkonomicToken"
                                        }
                                      },
                                      "id": 4569,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "memberName": "boxTransfer",
                                      "nodeType": "MemberAccess",
                                      "referencedDeclaration": 5799,
                                      "src": "4671:44:13",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$_t_bytes32_$_t_bytes32_$_t_bytes32_$returns$_t_bool_$",
                                        "typeString": "function (address,uint256,bytes32,bytes32,bytes32) external returns (bool)"
                                      }
                                    },
                                    "id": 4578,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "functionCall",
                                    "lValueRequested": false,
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "4671:110:13",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bool",
                                      "typeString": "bool"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_bool",
                                      "typeString": "bool"
                                    }
                                  ],
                                  "id": 4565,
                                  "name": "require",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [
                                    8526,
                                    8527
                                  ],
                                  "referencedDeclaration": 8526,
                                  "src": "4663:7:13",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
                                    "typeString": "function (bool) pure"
                                  }
                                },
                                "id": 4579,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "4663:119:13",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_tuple$__$",
                                  "typeString": "tuple()"
                                }
                              },
                              "id": 4580,
                              "nodeType": "ExpressionStatement",
                              "src": "4663:119:13"
                            }
                          ]
                        }
                      }
                    ]
                  }
                }
              ]
            },
            "documentation": null,
            "id": 4667,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "executeInvestmentRequest",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 4474,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4459,
                  "name": "questionId",
                  "nodeType": "VariableDeclaration",
                  "scope": 4667,
                  "src": "3034:18:13",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 4458,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "3034:7:13",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4461,
                  "name": "executionbranch",
                  "nodeType": "VariableDeclaration",
                  "scope": 4667,
                  "src": "3054:23:13",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 4460,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "3054:7:13",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4463,
                  "name": "originalbranch",
                  "nodeType": "VariableDeclaration",
                  "scope": 4667,
                  "src": "3079:22:13",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 4462,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "3079:7:13",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4465,
                  "name": "forkonomicToken",
                  "nodeType": "VariableDeclaration",
                  "scope": 4667,
                  "src": "3103:23:13",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 4464,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "3103:7:13",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4467,
                  "name": "balanceChange_",
                  "nodeType": "VariableDeclaration",
                  "scope": 4667,
                  "src": "3128:18:13",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_int256",
                    "typeString": "int256"
                  },
                  "typeName": {
                    "id": 4466,
                    "name": "int",
                    "nodeType": "ElementaryTypeName",
                    "src": "3128:3:13",
                    "typeDescriptions": {
                      "typeIdentifier": "t_int256",
                      "typeString": "int256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4469,
                  "name": "compensation",
                  "nodeType": "VariableDeclaration",
                  "scope": 4667,
                  "src": "3148:16:13",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_int256",
                    "typeString": "int256"
                  },
                  "typeName": {
                    "id": 4468,
                    "name": "int",
                    "nodeType": "ElementaryTypeName",
                    "src": "3148:3:13",
                    "typeDescriptions": {
                      "typeIdentifier": "t_int256",
                      "typeString": "int256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4471,
                  "name": "arbitrator",
                  "nodeType": "VariableDeclaration",
                  "scope": 4667,
                  "src": "3166:18:13",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 4470,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "3166:7:13",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4473,
                  "name": "fromBox",
                  "nodeType": "VariableDeclaration",
                  "scope": 4667,
                  "src": "3186:15:13",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 4472,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "3186:7:13",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "3033:169:13"
            },
            "payable": false,
            "returnParameters": {
              "id": 4475,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "3214:0:13"
            },
            "scope": 4853,
            "src": "3000:2745:13",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 4762,
              "nodeType": "Block",
              "src": "5852:980:13",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 4679,
                              "name": "msg",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8523,
                              "src": "5942:3:13",
                              "typeDescriptions": {
                                "typeIdentifier": "t_magic_message",
                                "typeString": "msg"
                              }
                            },
                            "id": 4680,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "sender",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": null,
                            "src": "5942:10:13",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 4681,
                            "name": "this",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8586,
                            "src": "5954:4:13",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_ForkonomicETTF_$4853",
                              "typeString": "contract ForkonomicETTF"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 4682,
                            "name": "amount",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4671,
                            "src": "5960:6:13",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 4683,
                            "name": "branch",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4669,
                            "src": "5968:6:13",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            },
                            {
                              "typeIdentifier": "t_contract$_ForkonomicETTF_$4853",
                              "typeString": "contract ForkonomicETTF"
                            },
                            {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          ],
                          "id": 4678,
                          "name": "transferFrom",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 5822,
                          "src": "5929:12:13",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes32_$returns$_t_bool_$",
                            "typeString": "function (address,address,uint256,bytes32) returns (bool)"
                          }
                        },
                        "id": 4684,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "5929:46:13",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "7472616e7366657220646964206e6f74207061737320696e2072656465656d5265616c69747946756e64546f6b656e73",
                        "id": 4685,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "5977:50:13",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_c9cafcc2c7a4a2876bdd754fd2d86865e34be4b3c0690404635b83c341ff2563",
                          "typeString": "literal_string \"transfer did not pass in redeemRealityFundTokens\""
                        },
                        "value": "transfer did not pass in redeemRealityFundTokens"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_c9cafcc2c7a4a2876bdd754fd2d86865e34be4b3c0690404635b83c341ff2563",
                          "typeString": "literal_string \"transfer did not pass in redeemRealityFundTokens\""
                        }
                      ],
                      "id": 4677,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        8526,
                        8527
                      ],
                      "referencedDeclaration": 8527,
                      "src": "5921:7:13",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 4686,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5921:107:13",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 4687,
                  "nodeType": "ExpressionStatement",
                  "src": "5921:107:13"
                },
                {
                  "assignments": [
                    4689
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 4689,
                      "name": "amountOutstandingETTFToken",
                      "nodeType": "VariableDeclaration",
                      "scope": 4763,
                      "src": "6113:33:13",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_int256",
                        "typeString": "int256"
                      },
                      "typeName": {
                        "id": 4688,
                        "name": "int256",
                        "nodeType": "ElementaryTypeName",
                        "src": "6113:6:13",
                        "typeDescriptions": {
                          "typeIdentifier": "t_int256",
                          "typeString": "int256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 4691,
                  "initialValue": {
                    "argumentTypes": null,
                    "hexValue": "30",
                    "id": 4690,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": true,
                    "kind": "number",
                    "lValueRequested": false,
                    "nodeType": "Literal",
                    "src": "6149:1:13",
                    "subdenomination": null,
                    "typeDescriptions": {
                      "typeIdentifier": "t_rational_0_by_1",
                      "typeString": "int_const 0"
                    },
                    "value": "0"
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "6113:37:13"
                },
                {
                  "assignments": [
                    4693
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 4693,
                      "name": "hashIteration",
                      "nodeType": "VariableDeclaration",
                      "scope": 4763,
                      "src": "6160:21:13",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      },
                      "typeName": {
                        "id": 4692,
                        "name": "bytes32",
                        "nodeType": "ElementaryTypeName",
                        "src": "6160:7:13",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 4695,
                  "initialValue": {
                    "argumentTypes": null,
                    "id": 4694,
                    "name": "branch",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 4669,
                    "src": "6184:6:13",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "6160:30:13"
                },
                {
                  "body": {
                    "id": 4714,
                    "nodeType": "Block",
                    "src": "6253:157:13",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 4705,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "id": 4701,
                            "name": "amountOutstandingETTFToken",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4689,
                            "src": "6267:26:13",
                            "typeDescriptions": {
                              "typeIdentifier": "t_int256",
                              "typeString": "int256"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "+=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 4702,
                              "name": "fETTFbalanceChange",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 4289,
                              "src": "6297:18:13",
                              "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_bytes32_$_t_int256_$",
                                "typeString": "mapping(bytes32 => int256)"
                              }
                            },
                            "id": 4704,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 4703,
                              "name": "hashIteration",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 4693,
                              "src": "6316:13:13",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "6297:33:13",
                            "typeDescriptions": {
                              "typeIdentifier": "t_int256",
                              "typeString": "int256"
                            }
                          },
                          "src": "6267:63:13",
                          "typeDescriptions": {
                            "typeIdentifier": "t_int256",
                            "typeString": "int256"
                          }
                        },
                        "id": 4706,
                        "nodeType": "ExpressionStatement",
                        "src": "6267:63:13"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 4712,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "id": 4707,
                            "name": "hashIteration",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4693,
                            "src": "6344:13:13",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "id": 4710,
                                "name": "hashIteration",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 4693,
                                "src": "6385:13:13",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              ],
                              "expression": {
                                "argumentTypes": null,
                                "id": 4708,
                                "name": "fSystem",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 5345,
                                "src": "6360:7:13",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_contract$_ForkonomicSystem_$5270",
                                  "typeString": "contract ForkonomicSystem"
                                }
                              },
                              "id": 4709,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "branchParentHash",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 4877,
                              "src": "6360:24:13",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_bytes32_$",
                                "typeString": "function (bytes32) view external returns (bytes32)"
                              }
                            },
                            "id": 4711,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "6360:39:13",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          "src": "6344:55:13",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes32",
                            "typeString": "bytes32"
                          }
                        },
                        "id": 4713,
                        "nodeType": "ExpressionStatement",
                        "src": "6344:55:13"
                      }
                    ]
                  },
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    },
                    "id": 4700,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 4696,
                      "name": "hashIteration",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 4693,
                      "src": "6207:13:13",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "!=",
                    "rightExpression": {
                      "argumentTypes": null,
                      "arguments": [],
                      "expression": {
                        "argumentTypes": [],
                        "expression": {
                          "argumentTypes": null,
                          "id": 4697,
                          "name": "fSystem",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 5345,
                          "src": "6224:7:13",
                          "typeDescriptions": {
                            "typeIdentifier": "t_contract$_ForkonomicSystem_$5270",
                            "typeString": "contract ForkonomicSystem"
                          }
                        },
                        "id": 4698,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "genesisBranchHash",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 4899,
                        "src": "6224:25:13",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$",
                          "typeString": "function () view external returns (bytes32)"
                        }
                      },
                      "id": 4699,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "6224:27:13",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "src": "6207:44:13",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 4715,
                  "nodeType": "WhileStatement",
                  "src": "6200:210:13"
                },
                {
                  "body": {
                    "id": 4760,
                    "nodeType": "Block",
                    "src": "6511:314:13",
                    "statements": [
                      {
                        "assignments": [
                          4728
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 4728,
                            "name": "holdings",
                            "nodeType": "VariableDeclaration",
                            "scope": 4763,
                            "src": "6525:16:13",
                            "stateVariable": false,
                            "storageLocation": "default",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            "typeName": {
                              "id": 4727,
                              "name": "uint256",
                              "nodeType": "ElementaryTypeName",
                              "src": "6525:7:13",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "value": null,
                            "visibility": "internal"
                          }
                        ],
                        "id": 4738,
                        "initialValue": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 4735,
                              "name": "this",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8586,
                              "src": "6591:4:13",
                              "typeDescriptions": {
                                "typeIdentifier": "t_contract$_ForkonomicETTF_$4853",
                                "typeString": "contract ForkonomicETTF"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "id": 4736,
                              "name": "branch",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 4669,
                              "src": "6597:6:13",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_contract$_ForkonomicETTF_$4853",
                                "typeString": "contract ForkonomicETTF"
                              },
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            ],
                            "expression": {
                              "argumentTypes": null,
                              "arguments": [
                                {
                                  "argumentTypes": null,
                                  "baseExpression": {
                                    "argumentTypes": null,
                                    "id": 4730,
                                    "name": "forkonomicTokens",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 4674,
                                    "src": "6560:16:13",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                                      "typeString": "address[] memory"
                                    }
                                  },
                                  "id": 4732,
                                  "indexExpression": {
                                    "argumentTypes": null,
                                    "id": 4731,
                                    "name": "i",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 4717,
                                    "src": "6577:1:13",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "nodeType": "IndexAccess",
                                  "src": "6560:19:13",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                  }
                                ],
                                "id": 4729,
                                "name": "ForkonomicToken",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 6226,
                                "src": "6544:15:13",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_contract$_ForkonomicToken_$6226_$",
                                  "typeString": "type(contract ForkonomicToken)"
                                }
                              },
                              "id": 4733,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "typeConversion",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "6544:36:13",
                              "typeDescriptions": {
                                "typeIdentifier": "t_contract$_ForkonomicToken_$6226",
                                "typeString": "contract ForkonomicToken"
                              }
                            },
                            "id": 4734,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "balanceOf",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 5571,
                            "src": "6544:46:13",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_external_view$_t_address_$_t_bytes32_$returns$_t_uint256_$",
                              "typeString": "function (address,bytes32) view external returns (uint256)"
                            }
                          },
                          "id": 4737,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "6544:60:13",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "6525:79:13"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "arguments": [
                                {
                                  "argumentTypes": null,
                                  "expression": {
                                    "argumentTypes": null,
                                    "id": 4746,
                                    "name": "msg",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 8523,
                                    "src": "6700:3:13",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_magic_message",
                                      "typeString": "msg"
                                    }
                                  },
                                  "id": 4747,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberName": "sender",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": null,
                                  "src": "6700:10:13",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                  }
                                },
                                {
                                  "argumentTypes": null,
                                  "commonType": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  },
                                  "id": 4754,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "leftExpression": {
                                    "argumentTypes": null,
                                    "commonType": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    },
                                    "id": 4750,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "leftExpression": {
                                      "argumentTypes": null,
                                      "id": 4748,
                                      "name": "amount",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 4671,
                                      "src": "6712:6:13",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    },
                                    "nodeType": "BinaryOperation",
                                    "operator": "*",
                                    "rightExpression": {
                                      "argumentTypes": null,
                                      "id": 4749,
                                      "name": "holdings",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 4728,
                                      "src": "6721:8:13",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    },
                                    "src": "6712:17:13",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "nodeType": "BinaryOperation",
                                  "operator": "/",
                                  "rightExpression": {
                                    "argumentTypes": null,
                                    "arguments": [
                                      {
                                        "argumentTypes": null,
                                        "id": 4752,
                                        "name": "amountOutstandingETTFToken",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 4689,
                                        "src": "6737:26:13",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_int256",
                                          "typeString": "int256"
                                        }
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_int256",
                                          "typeString": "int256"
                                        }
                                      ],
                                      "id": 4751,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "nodeType": "ElementaryTypeNameExpression",
                                      "src": "6732:4:13",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_type$_t_uint256_$",
                                        "typeString": "type(uint256)"
                                      },
                                      "typeName": "uint"
                                    },
                                    "id": 4753,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "typeConversion",
                                    "lValueRequested": false,
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "6732:32:13",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "src": "6712:52:13",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                {
                                  "argumentTypes": null,
                                  "id": 4755,
                                  "name": "branch",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 4669,
                                  "src": "6766:6:13",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                  },
                                  {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  },
                                  {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": null,
                                  "arguments": [
                                    {
                                      "argumentTypes": null,
                                      "baseExpression": {
                                        "argumentTypes": null,
                                        "id": 4741,
                                        "name": "forkonomicTokens",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 4674,
                                        "src": "6670:16:13",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                                          "typeString": "address[] memory"
                                        }
                                      },
                                      "id": 4743,
                                      "indexExpression": {
                                        "argumentTypes": null,
                                        "id": 4742,
                                        "name": "i",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 4717,
                                        "src": "6687:1:13",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        }
                                      },
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "nodeType": "IndexAccess",
                                      "src": "6670:19:13",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                      }
                                    }
                                  ],
                                  "expression": {
                                    "argumentTypes": [
                                      {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                      }
                                    ],
                                    "id": 4740,
                                    "name": "ForkonomicToken",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 6226,
                                    "src": "6654:15:13",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_type$_t_contract$_ForkonomicToken_$6226_$",
                                      "typeString": "type(contract ForkonomicToken)"
                                    }
                                  },
                                  "id": 4744,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "kind": "typeConversion",
                                  "lValueRequested": false,
                                  "names": [],
                                  "nodeType": "FunctionCall",
                                  "src": "6654:36:13",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_contract$_ForkonomicToken_$6226",
                                    "typeString": "contract ForkonomicToken"
                                  }
                                },
                                "id": 4745,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "transfer",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 5687,
                                "src": "6654:45:13",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$_t_bytes32_$returns$_t_bool_$",
                                  "typeString": "function (address,uint256,bytes32) external returns (bool)"
                                }
                              },
                              "id": 4756,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "6654:119:13",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "hexValue": "7472616e73666572206f662066756e647320776173206e6f74207375636365737366756c",
                              "id": 4757,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "string",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "6775:38:13",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_stringliteral_4d57f05af38d42c763154549bbe68cb7872363b49ac7b19db4dfa53158ffc2eb",
                                "typeString": "literal_string \"transfer of funds was not successful\""
                              },
                              "value": "transfer of funds was not successful"
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              },
                              {
                                "typeIdentifier": "t_stringliteral_4d57f05af38d42c763154549bbe68cb7872363b49ac7b19db4dfa53158ffc2eb",
                                "typeString": "literal_string \"transfer of funds was not successful\""
                              }
                            ],
                            "id": 4739,
                            "name": "require",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [
                              8526,
                              8527
                            ],
                            "referencedDeclaration": 8527,
                            "src": "6646:7:13",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                              "typeString": "function (bool,string memory) pure"
                            }
                          },
                          "id": 4758,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "6646:168:13",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 4759,
                        "nodeType": "ExpressionStatement",
                        "src": "6646:168:13"
                      }
                    ]
                  },
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 4723,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 4720,
                      "name": "i",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 4717,
                      "src": "6477:1:13",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "<",
                    "rightExpression": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "id": 4721,
                        "name": "forkonomicTokens",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4674,
                        "src": "6481:16:13",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                          "typeString": "address[] memory"
                        }
                      },
                      "id": 4722,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "length",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "6481:23:13",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "6477:27:13",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 4761,
                  "initializationExpression": {
                    "assignments": [
                      4717
                    ],
                    "declarations": [
                      {
                        "constant": false,
                        "id": 4717,
                        "name": "i",
                        "nodeType": "VariableDeclaration",
                        "scope": 4763,
                        "src": "6467:6:13",
                        "stateVariable": false,
                        "storageLocation": "default",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "typeName": {
                          "id": 4716,
                          "name": "uint",
                          "nodeType": "ElementaryTypeName",
                          "src": "6467:4:13",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "value": null,
                        "visibility": "internal"
                      }
                    ],
                    "id": 4719,
                    "initialValue": {
                      "argumentTypes": null,
                      "hexValue": "30",
                      "id": 4718,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "6474:1:13",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "nodeType": "VariableDeclarationStatement",
                    "src": "6467:8:13"
                  },
                  "loopExpression": {
                    "expression": {
                      "argumentTypes": null,
                      "id": 4725,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "UnaryOperation",
                      "operator": "++",
                      "prefix": false,
                      "src": "6506:3:13",
                      "subExpression": {
                        "argumentTypes": null,
                        "id": 4724,
                        "name": "i",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4717,
                        "src": "6506:1:13",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 4726,
                    "nodeType": "ExpressionStatement",
                    "src": "6506:3:13"
                  },
                  "nodeType": "ForStatement",
                  "src": "6462:363:13"
                }
              ]
            },
            "documentation": null,
            "id": 4763,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "redeemRealityFundTokens",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 4675,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4669,
                  "name": "branch",
                  "nodeType": "VariableDeclaration",
                  "scope": 4763,
                  "src": "5787:14:13",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 4668,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "5787:7:13",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4671,
                  "name": "amount",
                  "nodeType": "VariableDeclaration",
                  "scope": 4763,
                  "src": "5803:11:13",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4670,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "5803:4:13",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4674,
                  "name": "forkonomicTokens",
                  "nodeType": "VariableDeclaration",
                  "scope": 4763,
                  "src": "5816:27:13",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                    "typeString": "address[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 4672,
                      "name": "address",
                      "nodeType": "ElementaryTypeName",
                      "src": "5816:7:13",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "id": 4673,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "5816:10:13",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
                      "typeString": "address[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "5786:58:13"
            },
            "payable": false,
            "returnParameters": {
              "id": 4676,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "5852:0:13"
            },
            "scope": 4853,
            "src": "5754:1078:13",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 4821,
              "nodeType": "Block",
              "src": "6902:289:13",
              "statements": [
                {
                  "assignments": [
                    4771
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 4771,
                      "name": "bytesString",
                      "nodeType": "VariableDeclaration",
                      "scope": 4822,
                      "src": "6912:24:13",
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes_memory_ptr",
                        "typeString": "bytes"
                      },
                      "typeName": {
                        "id": 4770,
                        "name": "bytes",
                        "nodeType": "ElementaryTypeName",
                        "src": "6912:5:13",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_storage_ptr",
                          "typeString": "bytes"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 4776,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "hexValue": "3332",
                        "id": 4774,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "6949:2:13",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_32_by_1",
                          "typeString": "int_const 32"
                        },
                        "value": "32"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_rational_32_by_1",
                          "typeString": "int_const 32"
                        }
                      ],
                      "id": 4773,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "nodeType": "NewExpression",
                      "src": "6939:9:13",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_$",
                        "typeString": "function (uint256) pure returns (bytes memory)"
                      },
                      "typeName": {
                        "id": 4772,
                        "name": "bytes",
                        "nodeType": "ElementaryTypeName",
                        "src": "6943:5:13",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_storage_ptr",
                          "typeString": "bytes"
                        }
                      }
                    },
                    "id": 4775,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": true,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "6939:13:13",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_memory",
                      "typeString": "bytes memory"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "6912:40:13"
                },
                {
                  "body": {
                    "id": 4815,
                    "nodeType": "Block",
                    "src": "6990:159:13",
                    "statements": [
                      {
                        "assignments": [
                          4788
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 4788,
                            "name": "char",
                            "nodeType": "VariableDeclaration",
                            "scope": 4822,
                            "src": "7004:9:13",
                            "stateVariable": false,
                            "storageLocation": "default",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes1",
                              "typeString": "bytes1"
                            },
                            "typeName": {
                              "id": 4787,
                              "name": "byte",
                              "nodeType": "ElementaryTypeName",
                              "src": "7004:4:13",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes1",
                                "typeString": "bytes1"
                              }
                            },
                            "value": null,
                            "visibility": "internal"
                          }
                        ],
                        "id": 4803,
                        "initialValue": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "arguments": [
                                {
                                  "argumentTypes": null,
                                  "commonType": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  },
                                  "id": 4800,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "leftExpression": {
                                    "argumentTypes": null,
                                    "arguments": [
                                      {
                                        "argumentTypes": null,
                                        "id": 4792,
                                        "name": "data",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 4765,
                                        "src": "7034:4:13",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_bytes32",
                                          "typeString": "bytes32"
                                        }
                                      }
                                    ],
                                    "expression": {
                                      "argumentTypes": [
                                        {
                                          "typeIdentifier": "t_bytes32",
                                          "typeString": "bytes32"
                                        }
                                      ],
                                      "id": 4791,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "lValueRequested": false,
                                      "nodeType": "ElementaryTypeNameExpression",
                                      "src": "7029:4:13",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_type$_t_uint256_$",
                                        "typeString": "type(uint256)"
                                      },
                                      "typeName": "uint"
                                    },
                                    "id": 4793,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "kind": "typeConversion",
                                    "lValueRequested": false,
                                    "names": [],
                                    "nodeType": "FunctionCall",
                                    "src": "7029:10:13",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "nodeType": "BinaryOperation",
                                  "operator": "*",
                                  "rightExpression": {
                                    "argumentTypes": null,
                                    "commonType": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    },
                                    "id": 4799,
                                    "isConstant": false,
                                    "isLValue": false,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "leftExpression": {
                                      "argumentTypes": null,
                                      "hexValue": "32",
                                      "id": 4794,
                                      "isConstant": false,
                                      "isLValue": false,
                                      "isPure": true,
                                      "kind": "number",
                                      "lValueRequested": false,
                                      "nodeType": "Literal",
                                      "src": "7042:1:13",
                                      "subdenomination": null,
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_rational_2_by_1",
                                        "typeString": "int_const 2"
                                      },
                                      "value": "2"
                                    },
                                    "nodeType": "BinaryOperation",
                                    "operator": "**",
                                    "rightExpression": {
                                      "argumentTypes": null,
                                      "components": [
                                        {
                                          "argumentTypes": null,
                                          "commonType": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                          },
                                          "id": 4797,
                                          "isConstant": false,
                                          "isLValue": false,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "leftExpression": {
                                            "argumentTypes": null,
                                            "hexValue": "38",
                                            "id": 4795,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": true,
                                            "kind": "number",
                                            "lValueRequested": false,
                                            "nodeType": "Literal",
                                            "src": "7048:1:13",
                                            "subdenomination": null,
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_rational_8_by_1",
                                              "typeString": "int_const 8"
                                            },
                                            "value": "8"
                                          },
                                          "nodeType": "BinaryOperation",
                                          "operator": "*",
                                          "rightExpression": {
                                            "argumentTypes": null,
                                            "id": 4796,
                                            "name": "j",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 4778,
                                            "src": "7052:1:13",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_uint256",
                                              "typeString": "uint256"
                                            }
                                          },
                                          "src": "7048:5:13",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                          }
                                        }
                                      ],
                                      "id": 4798,
                                      "isConstant": false,
                                      "isInlineArray": false,
                                      "isLValue": false,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "nodeType": "TupleExpression",
                                      "src": "7047:7:13",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    },
                                    "src": "7042:12:13",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "src": "7029:25:13",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                }
                              ],
                              "expression": {
                                "argumentTypes": [
                                  {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                ],
                                "id": 4790,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "lValueRequested": false,
                                "nodeType": "ElementaryTypeNameExpression",
                                "src": "7021:7:13",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_type$_t_bytes32_$",
                                  "typeString": "type(bytes32)"
                                },
                                "typeName": "bytes32"
                              },
                              "id": 4801,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "typeConversion",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "7021:34:13",
                              "typeDescriptions": {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_bytes32",
                                "typeString": "bytes32"
                              }
                            ],
                            "id": 4789,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "ElementaryTypeNameExpression",
                            "src": "7016:4:13",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_bytes1_$",
                              "typeString": "type(bytes1)"
                            },
                            "typeName": "byte"
                          },
                          "id": 4802,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "typeConversion",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "7016:40:13",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes1",
                            "typeString": "bytes1"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "7004:52:13"
                      },
                      {
                        "condition": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_bytes1",
                            "typeString": "bytes1"
                          },
                          "id": 4806,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "id": 4804,
                            "name": "char",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4788,
                            "src": "7074:4:13",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes1",
                              "typeString": "bytes1"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "!=",
                          "rightExpression": {
                            "argumentTypes": null,
                            "hexValue": "30",
                            "id": 4805,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "7082:1:13",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_0_by_1",
                              "typeString": "int_const 0"
                            },
                            "value": "0"
                          },
                          "src": "7074:9:13",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "falseBody": null,
                        "id": 4814,
                        "nodeType": "IfStatement",
                        "src": "7070:69:13",
                        "trueBody": {
                          "id": 4813,
                          "nodeType": "Block",
                          "src": "7085:54:13",
                          "statements": [
                            {
                              "expression": {
                                "argumentTypes": null,
                                "id": 4811,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftHandSide": {
                                  "argumentTypes": null,
                                  "baseExpression": {
                                    "argumentTypes": null,
                                    "id": 4807,
                                    "name": "bytesString",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 4771,
                                    "src": "7103:11:13",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_bytes_memory_ptr",
                                      "typeString": "bytes memory"
                                    }
                                  },
                                  "id": 4809,
                                  "indexExpression": {
                                    "argumentTypes": null,
                                    "id": 4808,
                                    "name": "j",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 4778,
                                    "src": "7115:1:13",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": true,
                                  "nodeType": "IndexAccess",
                                  "src": "7103:14:13",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes1",
                                    "typeString": "bytes1"
                                  }
                                },
                                "nodeType": "Assignment",
                                "operator": "=",
                                "rightHandSide": {
                                  "argumentTypes": null,
                                  "id": 4810,
                                  "name": "char",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 4788,
                                  "src": "7120:4:13",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes1",
                                    "typeString": "bytes1"
                                  }
                                },
                                "src": "7103:21:13",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes1",
                                  "typeString": "bytes1"
                                }
                              },
                              "id": 4812,
                              "nodeType": "ExpressionStatement",
                              "src": "7103:21:13"
                            }
                          ]
                        }
                      }
                    ]
                  },
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 4783,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 4781,
                      "name": "j",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 4778,
                      "src": "6977:1:13",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "<",
                    "rightExpression": {
                      "argumentTypes": null,
                      "hexValue": "3332",
                      "id": 4782,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "6981:2:13",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_32_by_1",
                        "typeString": "int_const 32"
                      },
                      "value": "32"
                    },
                    "src": "6977:6:13",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 4816,
                  "initializationExpression": {
                    "assignments": [
                      4778
                    ],
                    "declarations": [
                      {
                        "constant": false,
                        "id": 4778,
                        "name": "j",
                        "nodeType": "VariableDeclaration",
                        "scope": 4822,
                        "src": "6967:6:13",
                        "stateVariable": false,
                        "storageLocation": "default",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "typeName": {
                          "id": 4777,
                          "name": "uint",
                          "nodeType": "ElementaryTypeName",
                          "src": "6967:4:13",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "value": null,
                        "visibility": "internal"
                      }
                    ],
                    "id": 4780,
                    "initialValue": {
                      "argumentTypes": null,
                      "hexValue": "30",
                      "id": 4779,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "6974:1:13",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "nodeType": "VariableDeclarationStatement",
                    "src": "6967:8:13"
                  },
                  "loopExpression": {
                    "expression": {
                      "argumentTypes": null,
                      "id": 4785,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "UnaryOperation",
                      "operator": "++",
                      "prefix": false,
                      "src": "6985:3:13",
                      "subExpression": {
                        "argumentTypes": null,
                        "id": 4784,
                        "name": "j",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4778,
                        "src": "6985:1:13",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 4786,
                    "nodeType": "ExpressionStatement",
                    "src": "6985:3:13"
                  },
                  "nodeType": "ForStatement",
                  "src": "6962:187:13"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 4818,
                        "name": "bytesString",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4771,
                        "src": "7172:11:13",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      ],
                      "id": 4817,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "nodeType": "ElementaryTypeNameExpression",
                      "src": "7165:6:13",
                      "typeDescriptions": {
                        "typeIdentifier": "t_type$_t_string_storage_ptr_$",
                        "typeString": "type(string storage pointer)"
                      },
                      "typeName": "string"
                    },
                    "id": 4819,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "typeConversion",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "7165:19:13",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_memory",
                      "typeString": "string memory"
                    }
                  },
                  "functionReturnParameters": 4769,
                  "id": 4820,
                  "nodeType": "Return",
                  "src": "7158:26:13"
                }
              ]
            },
            "documentation": null,
            "id": 4822,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "bytes32ToString",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 4766,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4765,
                  "name": "data",
                  "nodeType": "VariableDeclaration",
                  "scope": 4822,
                  "src": "6864:12:13",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 4764,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "6864:7:13",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "6863:14:13"
            },
            "payable": false,
            "returnParameters": {
              "id": 4769,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4768,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 4822,
                  "src": "6894:6:13",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 4767,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "6894:6:13",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "6893:8:13"
            },
            "scope": 4853,
            "src": "6838:353:13",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 4851,
              "nodeType": "Block",
              "src": "7327:146:13",
              "statements": [
                {
                  "assignments": [
                    4836
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 4836,
                      "name": "deal",
                      "nodeType": "VariableDeclaration",
                      "scope": 4852,
                      "src": "7337:12:13",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      },
                      "typeName": {
                        "id": 4835,
                        "name": "bytes32",
                        "nodeType": "ElementaryTypeName",
                        "src": "7337:7:13",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 4848,
                  "initialValue": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 4840,
                            "name": "branch",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4824,
                            "src": "7379:6:13",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 4841,
                            "name": "forkonomicToken",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4826,
                            "src": "7387:15:13",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 4842,
                            "name": "balanceChange",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4828,
                            "src": "7404:13:13",
                            "typeDescriptions": {
                              "typeIdentifier": "t_int256",
                              "typeString": "int256"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "id": 4843,
                            "name": "compensation",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4830,
                            "src": "7419:12:13",
                            "typeDescriptions": {
                              "typeIdentifier": "t_int256",
                              "typeString": "int256"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 4844,
                              "name": "msg",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 8523,
                              "src": "7433:3:13",
                              "typeDescriptions": {
                                "typeIdentifier": "t_magic_message",
                                "typeString": "msg"
                              }
                            },
                            "id": 4845,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "sender",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": null,
                            "src": "7433:10:13",
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_bytes32",
                              "typeString": "bytes32"
                            },
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            },
                            {
                              "typeIdentifier": "t_int256",
                              "typeString": "int256"
                            },
                            {
                              "typeIdentifier": "t_int256",
                              "typeString": "int256"
                            },
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          ],
                          "expression": {
                            "argumentTypes": null,
                            "id": 4838,
                            "name": "abi",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 8510,
                            "src": "7362:3:13",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_abi",
                              "typeString": "abi"
                            }
                          },
                          "id": 4839,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberName": "encodePacked",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "7362:16:13",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                            "typeString": "function () pure returns (bytes memory)"
                          }
                        },
                        "id": 4846,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "7362:82:13",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bytes_memory_ptr",
                          "typeString": "bytes memory"
                        }
                      ],
                      "id": 4837,
                      "name": "keccak256",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 8517,
                      "src": "7352:9:13",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_sha3_pure$__$returns$_t_bytes32_$",
                        "typeString": "function () pure returns (bytes32)"
                      }
                    },
                    "id": 4847,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "7352:93:13",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "7337:108:13"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 4849,
                    "name": "deal",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 4836,
                    "src": "7462:4:13",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "functionReturnParameters": 4834,
                  "id": 4850,
                  "nodeType": "Return",
                  "src": "7455:11:13"
                }
              ]
            },
            "documentation": null,
            "id": 4852,
            "implemented": true,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "calcDealBytes",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 4831,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4824,
                  "name": "branch",
                  "nodeType": "VariableDeclaration",
                  "scope": 4852,
                  "src": "7220:14:13",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 4823,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "7220:7:13",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4826,
                  "name": "forkonomicToken",
                  "nodeType": "VariableDeclaration",
                  "scope": 4852,
                  "src": "7236:23:13",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 4825,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "7236:7:13",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4828,
                  "name": "balanceChange",
                  "nodeType": "VariableDeclaration",
                  "scope": 4852,
                  "src": "7261:17:13",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_int256",
                    "typeString": "int256"
                  },
                  "typeName": {
                    "id": 4827,
                    "name": "int",
                    "nodeType": "ElementaryTypeName",
                    "src": "7261:3:13",
                    "typeDescriptions": {
                      "typeIdentifier": "t_int256",
                      "typeString": "int256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4830,
                  "name": "compensation",
                  "nodeType": "VariableDeclaration",
                  "scope": 4852,
                  "src": "7280:16:13",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_int256",
                    "typeString": "int256"
                  },
                  "typeName": {
                    "id": 4829,
                    "name": "int",
                    "nodeType": "ElementaryTypeName",
                    "src": "7280:3:13",
                    "typeDescriptions": {
                      "typeIdentifier": "t_int256",
                      "typeString": "int256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "7219:78:13"
            },
            "payable": false,
            "returnParameters": {
              "id": 4834,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4833,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 4852,
                  "src": "7318:7:13",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 4832,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "7318:7:13",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "7317:9:13"
            },
            "scope": 4853,
            "src": "7197:276:13",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          }
        ],
        "scope": 4854,
        "src": "163:7312:13"
      }
    ],
    "src": "0:7475:13"
  },
  "compiler": {
    "name": "solc",
    "version": "0.4.25+commit.59dbf8f1.Emscripten.clang"
  },
  "networks": {
    "1541950306998": {
      "events": {},
      "links": {},
      "address": "0xFD508c751acC3a2f0B06eFEfCAc389a8269f560B",
      "transactionHash": "0x31431630cbf277246fe65d0563abfad1632f417578b1766d3aec1254ae3cfe2f"
    }
  },
  "schemaVersion": "3.0.0-beta.1",
  "updatedAt": "2018-11-11T16:31:32.526Z"
}